2016-12-06 95 views
0

如何從兩個日期中減去兩個日期(entry_datestatus_change_date)以獲得兩個日期之間的小時數?我這樣做是基於一個IF語句其中兩個日期在YYYY,MM,DD 12:00:00格式獲取兩個日期之間的小時差

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

它返回天,而不是小時答案。在代碼完成後,我也嘗試在Crystal中使用minutes(entry_day)hours(status_change_date),但我仍然獲得了日期值。

回答

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 

檢查這個例子中,得到的小時,分​​鍾,日期時間瓦爾