使用SQL Server 2005

表格1

ID Time

001  060000 (HHMMSS)
001  080000
002  100000
002  090000
002  120000
.....


Intime,Outtime数据类型为varchar。

我想按ID计算总时间组

如何计算总小时数。

需要查询帮助

最佳答案

根据给定的数据,最后丢掉0000,更改为int,SUM

SELECT
    SUM(CAST(REVERSE(SUBSTRING(REVERSE(TimeCol),5,8000) as int), ID
FROM
    MyTable
GROUP BY
    ID


如果您有分钟数但没有秒数,则可以对其进行修改,以在末尾丢掉00,将其拆分为小时数+分钟数,然后求和...

问题是:


将HHMMSS字符串分解为单独的HH,MM和SS
然后找到一个通用单位(例如整秒,但我查看了数据,因此选择了整个小时数)
求和得出总的通用单位
更改为所需的输出单位(在这种情况下为小时)

关于sql - 如何计算总时数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4574099/

10-10 06:40