我有3列的数据类型time
。
如何通过使用SQL查询获取每个人的总时间?
我尝试了以下操作我得到了90、30、120分钟的结果格式,我希望结果为HH:mm
01:30, 00:30, 02:00
代码:
SELECT
EmpNum,
SUM(DATEDIFF(MINUTE, '0:00:00', EarlyOT)),
SUM(DATEDIFF(MINUTE, '0:00:00', late)),
SUM(DATEDIFF(MINUTE, '0:00:00', [ExcessOT]))
FROM
TblAttendReports
WHERE
EmpNum = 11983
GROUP BY
EmpNum
您只需要重新格式化输出即可。这是一个主意:
;WITH TimesCte as
(
SELECT
EmpNum,
SUM(DATEDIFF(MINUTE, '0:00:00', EarlyOT)) ear_min,
SUM(DATEDIFF(MINUTE, '0:00:00', late)) lat_min,
SUM(DATEDIFF(MINUTE, '0:00:00', [ExcessOT])) exc_min
FROM
TblAttendReports
WHERE
EmpNum = 11983
GROUP BY
EmpNum
)
SELECT EmpNum,
,RTRIM(ear_min/60) + ':' + RIGHT('0' + RTRIM(ear_min%60),2)
,RTRIM(lat_min/60) + ':' + RIGHT('0' + RTRIM(lat_min%60),2)
,RTRIM(exc_min/60) + ':' + RIGHT('0' + RTRIM(exc_min%60),2)
FROM TimesCte;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句