使用t-sql求和和和转换时间
我试图计算在一次会议期间完成所有案例所需的总时间。每个案例的时间以秒为单位存储在[时间]列中。如何求和并转换为hh:mm:ss格式 我的代码如下所示:使用t-sql求和和和转换时间,sql,sql-server,tsql,sum,Sql,Sql Server,Tsql,Sum,我试图计算在一次会议期间完成所有案例所需的总时间。每个案例的时间以秒为单位存储在[时间]列中。如何求和并转换为hh:mm:ss格式 我的代码如下所示: [sessionno] as session_no ,count ([id]) as No_Items ,(convert (varchar, dateadd (ms, (sum([time])) * 1000, 0), 108)) as total_work_time 结果应该如下所示: session_no | No_items | tot
[sessionno] as session_no
,count ([id]) as No_Items
,(convert (varchar, dateadd (ms, (sum([time])) * 1000, 0), 108)) as total_work_time
结果应该如下所示:
session_no | No_items | total_work_time
112138 8 00:35:12
112583 0 00:00:00
212558 1 00:00:17
相反,我收到的是:
session_no | No_items | total_work_time
112138 8 1622
112583 0 null
212558 1 324
对SQL进行了一些更正
SELECT [sessionno] as session_no,
count ([id]) as No_Items,
dateadd (ss, sum([time]), cast('00:00:00' as time)) as total_work_time
FROM your_table
GROUP BY [sessionno]
但是,请注意时间数据类型可能是。您的
[time]
列的数据类型是什么?dateadd(ss,sum(time),cast('00:00'as time))
您好,欢迎使用SO。您能否将表的ddl和一些示例数据作为insert语句发布?但我对求和时间有疑问。上午9点13分加上下午3点42分应该是多少?增加一天的时间没有逻辑意义。我认为你把一天中的时间和一项任务的持续时间混淆了。无法重现<代码>选择(转换(varchar,dateadd(ms,(1234)*1000,0),108))生成00:20:34
。检查你的假设。@TabAlleman它是int