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