Reputation: 1867
In SQL Server 2014, I need to calculate total time difference between start time and end time in HH::MM::SS format of all records
Sample data:
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 --time difference OF ID 5287
0:6 --time difference OF ID 5288
3:0 --time difference OF ID 5289 )
OUTPUT: 00:05:47
Upvotes: 1
Views: 146
Reputation: 777
Test table
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
OUTPUT:
Upvotes: 1
Reputation: 1731
try something like :
SELECT DATEDIFF(year, expression_one, expression_two) AS DateDiff;
the part year
is the interval. It can be any of the following:
Upvotes: 1
Reputation: 14389
Try something, like:
SELECT CONVERT(char(8), DATEADD(second, DATEDIFF(SECOND,StartTime,EndTime), ''), 114)
And if you want total sum:
SELECT CONVERT(char(8), DATEADD(second, SUM(DATEDIFF(SECOND,StartTime,EndTime)), ''), 114)
Upvotes: 1