获取两个日期之间的小时差
问题描述:
如何从两个日期中减去两个日期(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...
它返回天,而不是小时答案。在代码完成后,我也尝试在Crystal中使用minutes(entry_day)
和hours(status_change_date)
,但我仍然获得了日期值。
答
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
检查这个例子中,得到的小时,分钟,日期时间瓦尔
答
从文件TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2),
SELECT TIMESTAMPDIFF(HOUR, '2016-12-05 12:00:00', '2016-12-06 12:00:00');
这将让你24小时。