Так что я не знаю, как вычесть два time(hh:mm:ss)
в sql-сервере.как вычесть два раза в sql-сервере?
Это мое заявление:
where
(CONVERT(TIME(7), [EndWork], 102)) - (CONVERT(TIME(7), [StartWork], 102)) <
CONVERT(TIME(7), ' 8:30:00', 102)
Так что я не знаю, как вычесть два time(hh:mm:ss)
в sql-сервере.как вычесть два раза в sql-сервере?
Это мое заявление:
where
(CONVERT(TIME(7), [EndWork], 102)) - (CONVERT(TIME(7), [StartWork], 102)) <
CONVERT(TIME(7), ' 8:30:00', 102)
DECLARE @END_DATE TIME = '' ,
@START_DATE TIME = ''
SELECT CONVERT(TIME,DATEADD(MS,DATEDIFF(SS, @START_DATE, @END_DATE)*1000,0),114)
Вы можете попробовать использовать DATEDIFF функцию:
where DATEDIFF(HH,StartWork, EndWork)
Вы можете просто wrute запрос как:
SELECT CONVERT(varchar,(EndWork- StartWork), 108) FROM tablename
выход возвращается (hh:mm:ss)
формат.
Используя функцию DATEDIFF, вы получите разницу между двумя датами/временем в Годе/Месяц/Днем/Часе/Мин/Сек, как вам было необходимо.
Например: - DATEDIFF (MINUTE , startdate , enddate)
--будет вернуть диф в минутах
К сожалению, SQL Server не имеет тип данных, представляющий время * интервал *. Я бы настоятельно рекомендовал вам * не * использовать 'время' для хранения таких значений, поскольку он представляет * время суток *, и поэтому не очень полезно для интервалов (не допускает отрицательных значений, не поддерживает значения более 24 часов). Поэтому даже после того, как вы выполнили вычитание, я бы не рекомендовал сравнивать это с CONVERT (TIME (7), «8:30:00», 102). –
Это не имеет никакого отношения к ASP.NET MVC. –