SUM在SQL Server中的总时间

时间:2013-10-23 07:42:42

标签: sql sql-server tsql sum

我在SQL Server中遇到SUM运算符问题。当我写这个查询时:

SELECT StudentID, StudentName, SUM(time) as 'TotalTime' 
FROM WorkNote
GROUP BY StudentID, StudentName

我收到此错误:

  

操作数数据类型时间对于sum运算符无效。

是否有SUM的其他方法或计算记录的总时间?

在我的WorkNote表中,列time的类型为Time(7),我希望SUM每个学生的所有(总计)时间。

2 个答案:

答案 0 :(得分:17)

如果时间在hh/mm/ss那么::

SELECT studentid,studentname,
         DATEADD(ms, SUM(DATEDIFF(ms, '00:00:00.000', mytime)), '00:00:00.000') as time
    FROM
         worknote

答案 1 :(得分:1)

您可以在几秒钟内完成时间并将其相加。

SELECT   StudentID, 
         StudentName, 
         sum( DATEPART(SECOND, [time]) + 60 * 
              DATEPART(MINUTE, [time]) + 3600 * 
              DATEPART(HOUR, [time] ) 
            ) as 'TotalTime' 
FROM WorkNote
GROUP BY StudentID, StudentName