我尝试执行SUM
个时间值,但输出呈现为1900-01-01 05:46:11.740
。请注意前面的日期部分1900-01-01
。我只想要时间价值。
下面是我尝试过的一个例子:
DATEADD(MS, SUM(DATEDIFF(MS, '00:00:00.000', R.[Result].value('(/Result/Time/text())[1]', 'datetime'))), '00:00:00.000')
R.[Result].value()
是格式为00:00:00.000
知道我做错了吗?
答案 0 :(得分:1)
这家伙想要计算具有时间数据类型的字段的总和。 这篇文章的答案有一个合适的解决方案,可能会有所帮助:
select cast(sum(datediff(second,0,dt))/3600 as varchar(12)) + ':' +
right('0' + cast(sum(datediff(second,0,dt))/60%60 as varchar(2)),2) +
':' + right('0' + cast(sum(datediff(second,0,dt))%60 as varchar(2)),2)
from TestTable