我有这个查询,显示一个工人一天所做的小时,分钟和秒数:
SELECT
Employee_Number, CAST([DateTime] as Date) as 'DateTime',
MIN([DateTime]) as 'MIN', MAX([DateTime]) as 'MAX',
[Hours Worked] = CAST((DATEDIFF(HOUR , min([DateTime]),
max([DateTime])) % 24 ) AS VARCHAR) +':'+ CAST((DATEDIFF(MINUTE, min([DateTime]),
max([DateTime])) % 60) AS VARCHAR) + ':' + CAST((DATEDIFF(SECOND, min([DateTime]),
max([DateTime])) % 60) AS VARCHAR) + '0' from tblExtract group by Employee_Number,
Cast([DateTime] as Date)
我的问题是我想在hh:mm:ss中转换小时工作列。我该如何解决?
答案 0 :(得分:1)
像这样使用
[Hours Worked] = CONVERT(VARCHAR(15),CAST((DATEDIFF(HOUR , min([DateTime]),108)
或只是
[Hours Worked] = CONVERT(VARCHAR(15),min([DateTime]),108)
Here是不同的格式
答案 1 :(得分:1)
尝试在工作时间的宫殿中使用它: -
[Hours Worked] = CONVERT(VARCHAR(8),DateTime,108)
希望这会对你有所帮助。
答案 2 :(得分:1)
CONVERT(NVARCHAR, MAX([DateTime]) - MIN(DateTime]), 108) AS [Hours Works]
答案 3 :(得分:1)