找出超过24小时的时间差。截至目前,我正在尝试使用时间变量,但它可以显示不到24小时的差异。
答案 0 :(得分:0)
假设您想知道
之间的时差
2017-01-01 13:45:00
和2017-01-02 16:30:00
- 以分钟为单位的分辨率 - 所以期望的结果为26:45
(26小时45分钟),您可以执行以下操作:
DECLARE @From datetime = '2017-01-01 13:45:00',
@To datetime = '2017-01-02 16:30:00'
DECLARE @Diff int
SELECT @Diff = DATEDIFF(MINUTE, @From, @To)
SELECT
CAST((@Diff - (@Diff % 60)) / 60 as varchar(5)) -- Hours
+ ':' +
RIGHT('00' +
CAST(@Diff % 60 as varchar(2)) -- minutes
, 2)
结果:
26:45
注意:right('00' + <varchar value>, 2)
将添加一个前导零,因为<varchar value>
只有一个字符长。