【问题标题】:DateDiff Function in SQL Server [duplicate]SQL Server中的DateDiff函数[重复]
【发布时间】:2017-09-26 16:31:20
【问题描述】:

我有一个问题

SELECT  CONVERT(VARCHAR(8), DATEADD(SS, DATEDIFF(SS, '2017/08/24 06:00', '2017/08/25 07:15'), 0), 114)

输出为 01:15:00,其中不考虑日期。我的预期输出是 25:15:00,因为当天的差异是 1。我尝试将 SS 替换为 HH,但没有得到所需的帮助。

【问题讨论】:

  • 你想要什么时间差异???
  • 你确定差异是 25:15:00 吗??
  • @YogeshSharma - 是的,我也想通过考虑日期来考虑时差。在上述情况下,时间差是 25 小时以上
  • 你有没有尝试使用 cast (date1-date2 as time(0)) 它给出的输出是什么?

标签: sql sql-server datediff


【解决方案1】:
with cte as
(
select DATEDIFF(SS, '2017/08/24 06:00', '2017/08/25 07:15') as ss
)

select cast (ss/3600 as varchar(10)) +':' + right( '00' +cast(ss % 3600 / 60 as varchar(2)), 2) + ':' + right( '00' + cast( (ss % 3600 )% 60 as varchar(2)), 2)
from cte

【讨论】:

  • 比起重复问题中的答案,我更喜欢这个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
相关资源
最近更新 更多