获取两个日期之间的小时差
Get difference in hours between two dates
如何从两个日期(status_change_date
中减去entry_date
)得到它们之间的小时数?我根据 IF 语句执行此操作,其中两个日期均采用 YYYY,MM,DD 12:00:00
格式
(IF Invoice_Num != next Inv_Num then entry_date - status_change_date else...
它 returns 几天而不是几小时的答案。代码完成后,我还尝试在 Crystal 中使用 minutes(entry_day)
和 hours(status_change_date)
,但我仍然得到日值。
来自文档 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)、
SELECT TIMESTAMPDIFF(HOUR, '2016-12-05 12:00:00', '2016-12-06 12:00:00');
这将为您提供 24 小时。
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
检查此示例,获取日期时间变量之间的小时和分钟
如何从两个日期(status_change_date
中减去entry_date
)得到它们之间的小时数?我根据 IF 语句执行此操作,其中两个日期均采用 YYYY,MM,DD 12:00:00
格式
(IF Invoice_Num != next Inv_Num then entry_date - status_change_date else...
它 returns 几天而不是几小时的答案。代码完成后,我还尝试在 Crystal 中使用 minutes(entry_day)
和 hours(status_change_date)
,但我仍然得到日值。
来自文档 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)、
SELECT TIMESTAMPDIFF(HOUR, '2016-12-05 12:00:00', '2016-12-06 12:00:00');
这将为您提供 24 小时。
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
检查此示例,获取日期时间变量之间的小时和分钟