SELECT EmployeeID, minutes_worked = SUM(DATEDIFF(MINUTE, '0:00:00', WrkHrs))
FROM dbo.table
-- WHERE ...
GROUP BY EmployeeID;
आप इसे सामने के छोर पर सुंदर स्वरूपित कर सकते हैं। या टी-एसक्यूएल में:
;WITH w(e, mw) AS
(
SELECT EmployeeID, SUM(DATEDIFF(MINUTE, '0:00:00', WrkHrs))
FROM dbo.table
-- WHERE ...
GROUP BY EmployeeID
)
SELECT EmployeeID = e,
WrkHrs = RTRIM(mw/60) + ':' + RIGHT('0' + RTRIM(mw%60),2)
FROM w;
हालांकि, आप गलत डेटा प्रकार का उपयोग कर रहे हैं। TIME समय में एक बिंदु को इंगित करने के लिए प्रयोग किया जाता है, अंतराल या अवधि नहीं। क्या उनके काम के घंटों को दो अलग-अलग कॉलमों StartTime . में संग्रहित करने का कोई मतलब नहीं होगा? और EndTime ?