2016-12-06 4 views
0

Как вычесть две даты (entry_date от status_change_date), чтобы получить часы между ними? Я делаю это на основе инструкции IF, где обе даты в формате YYYY,MM,DD 12:00:00Получите разницу в часах между двумя датами

(IF Invoice_Num != next Inv_Num then entry_date - status_change_date else... 

Он возвращает ответ в дни вместо часов. Я также попытался использовать minutes(entry_day) и hours(status_change_date) в Crystal после того, как код был выполнен, но у меня все еще есть дневные значения.

ответ

2
declare @startDate datetime 
declare @endDate datetime 

set @startDate = '2016-12-05 08:05:00'; 
set @endDate = '2016-12-05 09:52:00'; 

select CONVERT(varchar(3),DATEDIFF(minute,@startDate, @endDate)/60) + ':' + 
      RIGHT('0' + CONVERT(varchar(2),DATEDIFF(minute,@startDate,@endDate)%60),2) 
      as TotalHours 

Проверьте этот пример, получить часы и минуты между до даты и времени вары