在SQL Server 2014中,我需要以HH :: MM :: SS格式计算所有记录的开始时间和结束时间之间的总时间差
示例数据:
ID StartTime EndTime
---------------------------------------------------
5287 2017-11-04 12:38:04 2017-11-04 12:40:45
5288 2017-11-04 17:08:28 2017-11-04 17:08:34
5289 2017-11-04 17:08:41 2017-11-04 17:11:41
(2:41 - ID 5287的时差
0:6 - ID 5288的时差
3:0 - ID 5289的时差 )
输出:00:05:47
答案 0 :(得分:1)
尝试一些事情,例如:
SELECT CONVERT(char(8), DATEADD(second, DATEDIFF(SECOND,StartTime,EndTime), ''), 114)
如果你想要总和:
SELECT CONVERT(char(8), DATEADD(second, SUM(DATEDIFF(SECOND,StartTime,EndTime)), ''), 114)
答案 1 :(得分:1)
尝试以下方法:
SELECT DATEDIFF(year, expression_one, expression_two) AS DateDiff;
部分year
是间隔。它可以是以下任何一种:
答案 2 :(得分:1)
测试表
create table timeTest
(
Id int,
StartTime datetime ,
EndTime datetime
)
select * from timeTest
select convert(varchar(5),sum(DateDiff(s, StartTime,
EndTime)/3600))+':'+convert(varchar(5),sum(DateDiff(s, StartTime,
EndTime)%3600/60))+':'
+convert(varchar(5),(sum(DateDiff(s, StartTime, EndTime)%60))) as
[hh:mm:ss]
from timeTest
输出: