使用 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
- 然后找到一个通用单位(例如整秒,但我查看了数据,所以选择了整小时)
- 求和得到总的公共(public)单位
- 更改为所需的输出单位(本例中为小时)
关于sql - 如何计算总小时数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4574099/