GPH*_*GPH 4 sql sql-server time sql-server-2008
我正在制作一个电话报告但是我遇到了麻烦.我需要计算一个代理人在电话上花了多长时间,源数据是HH:MM:SS的呼叫持续时间.如同在1小时12分10秒内一样几秒钟.因此,如果2个代理人接听了2个电话,那么花费的时间就会计算在那一天.
是否可以将其更改为秒?或者任何人都可以提出更好的建议?
时间到秒
假设它是一个时间数据类型,那么您可以像这样更改为秒
DATEDIFF(second, 0, @YourTimeValue)
Run Code Online (Sandbox Code Playgroud)
这是一个简单的聚合示例(即总和)
DECLARE @data TABLE (TimeColumn TIME)
INSERT INTO @data values ('01:12:10'), ('02:15:45')
SELECT SUM(DATEDIFF(SECOND, 0, TimeColumn)) FROM @data
Run Code Online (Sandbox Code Playgroud)
结果是12475秒
秒到时间
我想完成图片以从秒转换回时间格式
SELECT CAST(DATEADD(SECOND, @TotalSecondsValue, 0) AS TIME)
Run Code Online (Sandbox Code Playgroud)
或作为聚合示例的一部分
DECLARE @data TABLE (TimeColumn TIME)
INSERT INTO @data VALUES ('01:12:10'), ('02:15:45')
SELECT CAST(DATEADD(SECOND, SUM(DATEDIFF(SECOND, 0, TimeColumn)), 0) AS TIME) FROM @data
Run Code Online (Sandbox Code Playgroud)
结果的时间是03:27:55