如何在sql server 2014中计算超过24小时的时差

时间:2017-03-14 08:35:14

标签: sql-server-2014

找出超过24小时的时间差。截至目前,我正在尝试使用时间变量,但它可以显示不到24小时的差异。

1 个答案:

答案 0 :(得分:0)

假设您想知道
之间的时差 2017-01-01 13:45:002017-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>只有一个字符长。