如何在SQL Server 2008中获取时间字段的总和
发布时间:2020-05-24 03:51:13 所属栏目:MsSql 来源:互联网
导读:我在查找存储在列中的值的总和时遇到问题, 我有这样一张桌子: gs_cycle_no | from_time | to_time | total_hours(varchar) ...GSC-334/2012 | 13:00 | 7:00 | 42:00GSC-334/2012 | 8:30 | 3:45 | 6:00...
|
我在查找存储在列中的值的总和时遇到问题, 我有这样一张桌子: gs_cycle_no | from_time | to_time | total_hours(varchar) ... GSC-334/2012 | 13:00 | 7:00 | 42:00 GSC-334/2012 | 8:30 | 3:45 | 6:00 . . . 我需要找到的是由gs_cycle_no组成的Sum(total_hours)组. 如何根据gs_cycle_no找到total_hours列的总和? 解决方法如果你没有分钟而且只有几个小时,那么你可以这样做:select
cast(sum(cast(replace(total_hours,':','') as int) / 100) as nvarchar(max)) + ':00'
from Table1
group by gs_cycle_no
如果你不这样做,试试这个: with cte as
(
select
gs_cycle_no,sum(cast(left(total_hours,len(total_hours) - 3) as int)) as h,sum(cast(right(total_hours,2) as int)) as m
from Table1
group by gs_cycle_no
)
select
gs_cycle_no,cast(h + m / 60 as nvarchar(max)) + ':' +
right('00' + cast(m % 60 as nvarchar(max)),2)
from cte
sql fiddle demo (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
