我有表名 tblAttend
其中一列名为 WorkHrs
是数据类型 varchar
.
简单选择查询的结果是
我总结了这个列的值并在几秒钟内得到结果我的查询是
select sum(DATEDIFF(SECOND, '0:00:00', WorkHrs ))
from tblAttend
它显示了这个输出:
现在的问题是,当
WorkHrs
的总和时大于 24 小时会抛出错误:你有什么建议可以解决这个问题?提前致谢
最佳答案
通过将时间转换为字符串,然后乘以与每个部分相关的秒数,尝试将每个时间拆分为其组成部分。
数据转换为整数是隐式的
select Sum(Left(WorkHrs,2) * 3600 + substring(WorkHrs, 4,2) * 60 + substring(WorkHrs, 7,2))
from tblAttend
关于sql - 如何转换 hh :mm:ss to seconds in SQL Server with more than 24 hours,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31425204/