我有表名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