【发布时间】:2013-03-25 13:34:18
【问题描述】:
我有一个 SQL 查询,用于计算与 Voice-over-IP 的对话总数。
SELECT COUNT(*) AS 'Aantal gesprekken'
,FromUri AS 'Medewerker'
,SUM(DATEDIFF(hour,InviteTime,EndTime)) AS 'Uren'
,SUM(DATEDIFF(minute,InviteTime,EndTime)) AS 'Minuten'
,SUM(DATEDIFF(second,InviteTime,EndTime)) AS 'Secondes'
FROM [LcsCDR].[dbo].[SessionDetailsView]
WHERE FromUri LIKE '%robert%'
AND (CAST([InviteTime] AS date)) BETWEEN '2012-12-27' AND '2013-01-28'
AND MediaTypes = '16'
GROUP BY FromUri
SQL Server 2012 给出以下结果:数字、员工、小时、分钟和秒。
302 robert 11 518 31316
但我需要得到这个结果:28 小时 19 分 56 秒。我计算了调节器 / 60 的方式,但是我怎样才能在 SQL 中做到这一点才能得到准确的结果?!
转发,非常感谢!
【问题讨论】:
-
为什么不以相同的格式(例如秒)计算时间差,将它们加在一起,然后将该值转换为小时、分钟和秒?
-
那行得通,没想到 :) 谢谢!
-
@steoleary,您能否将解决方案添加到此问题的末尾?这可能会帮助面临同样问题的其他人,不是吗? :-)
标签: sql date sql-server-2012