the*_*van 0 sql time select sum sql-server-2008
我想计算具有时间数据类型的字段的总和.
我的表在下面:
TableA:
TotalTime
-------------
12:18:00
12:18:00
Run Code Online (Sandbox Code Playgroud)
在这里,我想总结两个时间字段.我尝试了下面的查询
SELECT CAST(
DATEADD(MS, SUM(DATEDIFF(MS, '00:00:00.000',
CONVERT(TIME, TotalTime))), '00:00:00.000'
) AS TOTALTIME)
FROM [TableA]
Run Code Online (Sandbox Code Playgroud)
但它给出了输出
TOTALTIME
-----------------
00:36:00.0000000
Run Code Online (Sandbox Code Playgroud)
但我想要的输出如下:
TOTALTIME
-----------------
24:36:00
Run Code Online (Sandbox Code Playgroud)
如何获得此输出?
您可以将总秒数相加,或datediff(second,0,datecolumn)
.您可以将其格式化为带有一些数学的时间字符串.例如,总分钟数是totalseconds / 60 % 60
.例如:
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9670 次 |
最近记录: |