SQL将总通话时间转换为MM:SS

时间:2014-08-14 09:56:24

标签: sql sql-server sql-server-2005

对于我的呼叫中心,我需要计算平均通话时间并以MM:SS显示。 我有以秒为单位的用户参与时间,以及处理的总呼叫数:

SELECT sum(usersinvolvedtime)/(sum(numansweredprim)+sum(numansweredover))AS 'Avg Handle time(s)'
FROM calltypefifteenmin
WHERE calltypekey IN (229,230,231,232,233,234,888,889,890,891)
and YEAR (recordtimestamp) = '2014'
AND Month (recordtimestamp) = '7'

结果我得到238。 如何将其转换为mm:ss ??

非常感谢提前..!

埃德

2 个答案:

答案 0 :(得分:2)

应该是以下几行:

DECLARE @secs INT = 238;

SELECT 
    CONVERT(VARCHAR(8),  @secs / 60)
    + ':'
    + RIGHT('0' + CONVERT(VARCHAR(2),  @secs % 60), 2);

答案 1 :(得分:0)

试试这个:

SELECT CAST(238/60 AS VARCHAR) + ':' + CAST(238%60 AS VARCHAR) // 3:58

如果您想完全使用MM:SS格式

SELECT RIGHT('0' + CAST(238 / 60 AS VARCHAR),2) + ':' + 
       RIGHT('0' + CAST(238 % 60 AS VARCHAR),2)                // 03:58