两个日期之间的小时差异

时间:2016-12-06 00:45:31

标签: mysql sql date crystal-reports psql

如何从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),但我仍然有一天的值。

2 个答案:

答案 0 :(得分: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

检查此示例,获取日期时间变量之间的小时和分钟

答案 1 :(得分:1)

来自文件Window

SELECT TIMESTAMPDIFF(HOUR, '2016-12-05 12:00:00', '2016-12-06 12:00:00');

这将让你24小时。

<强> TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)