0
我想总结一些时间值,当我的总和超过24小时时,它会从总数中减去24。添加等于24小时以上的时间值
这里是我的SQL:
SELECT
UserID,
First_NM,
Last_NM,
MgrName,
CONVERT(varchar(5), DATEADD(minute, SUM(OnProd)/60, 0), 114) as OnProd,
CONVERT(varchar(5), DATEADD(minute, SUM(OffProd)/60, 0), 114) as OffProd,
CONVERT(varchar(5), DATEADD(minute, SUM(OnProd+OffProd)/60, 0), 114) as SumProd
FROM (
SELECT
UserID,
First_NM,
Last_NM,
MgrName,
CASE WHEN WorkUnitType LIKE '%On%' THEN DATEDIFF(s, DateStart, DateEnd) ELSE 0 END AS OnProd,
CASE WHEN WorkUnitType LIKE '%Off%' THEN DATEDIFF(s, DateStart, DateEnd) ELSE 0 END AS OffProd
FROM dbo.vw_mos_DPL_Reporting
) a
Group By
UserID,
First_NM,
Last_NM,
MgrName
这是我的电流输出:
UserID First_NM Last_NM OnProd OffProd SumProd
A05878 STEVEN LANTE 22:28 09:55 08:23
ARGLIN ARNIE FREEL 00:00 00:00 00:00
B96695 JENNIFER LARK 21:32 18:49 16:21
PATYOI PATTY TROTTER 04:29 00:03 04:32
我如何去解决这个?为了清楚起见,我想显示38:24或任何实际总和。总学时:总分钟/ 60
4人中,他们的'SumProd'错了吗? – 2014-10-02 16:14:23
你正在选择什么看起来像日期时间,但使用datediff转换为秒(持续时间),以便您可以使用dateadd将其添加到0将其转换回日期?在我看来,你正在计算持续时间的差异,而不是日期时间的差异。什么是实际要求? – KingOfAllTrades 2014-10-02 16:24:22
DATEADD(分钟,SUM(OnProd + OffProd)/ 60,0)将返回DAYS,Hours和minutes,只显示114和114的小时和分钟只是截断日期部分。 – 2014-10-02 16:34:40