将毫秒转换为HH.MM .....
SELECT empid, jobid,
CONVERT(DECIMAL(10,2),(Sum(CONVERT(DECIMAL(10,2),@duration))/(60*60)/1000))
AS totaltime
FROM completedshift
GROUP BY employeeid
我觉得我不应该转换转换的总和。
答案 0 :(得分:0)
我不能为它的效率提供凭证,但是快速谷歌搜索使我获得了以下here。您可以使用转换线并将其插入您的代码中。
declare @SomeMilliSecondsNumber bigint
select @SomeMilliSecondsNumber =54013
select convert(varchar,dateadd(ms,@SomeMilliSecondsNumber,0),114)
我目前无法访问sqlfiddle,但会在访问时发布。我在工作中的数据库中尝试了它没有问题。
<强> View SQL Fiddle Here 强>
答案 1 :(得分:0)
这就是我解决问题的方法......
SELECT employeeId, jobId, CONVERT(decimal(10, 2), SUM(CONVERT(decimal(10, 2), totalTime)) / (60 * 60) / 1000) AS TotalTime
FROM dbo.CompletedShift
GROUP BY employeeId, jobId
我一直都是这样。我认为,因为我的大部分价值都是0.00,所以它不起作用。没意识到我的大部分时间都在0到3分钟之间。为了达到这个精度,我需要{0.0}的DECIMAL(10,3)
。在这种情况下,不需要精度,在4分钟内可以接受0.00。