我有一個查詢可以計算從包含時間的日期開始工作的小時數。在SQL查詢舍入錯誤中減去時間
例如2011年1月7日上午07時00分〇〇秒 - 2011年1月7日下午5時40分○○秒 - 0.5 = 10.166666
的SQL是
SELECT entityID, StaffID, ActualDate,
DATEDIFF(minute, StartTime, EndTime)/60.0 lunch AS HoursWorked
FROM dbo.qasiteTimesheet
StartTime
EndTime
和是均爲datetime
類型。 Lunch
是numeric(9,1)
。
如果我添加整個小時,例如上午6:00 - 下午5:00,它可以正常工作,但是添加34,10,2不正確。
我在做什麼錯?
'1.'你的榜樣無關與您的查詢(從哪裏來的'-0.5'?)。 '''我不知道你的意思加了'34,10,2'。 '3.'你的例子(沒有-0.5)給我640分鐘或10.6666小時,至少我認爲是正確的。 –
@Lieven:'60.0'和'lunch'之間可能缺少'-'。 –
@webb:也許你應該在「午餐」中存儲分鐘而不是幾小時。這樣計算可能會更精確。當然,公式會略有不同:'(DATEDIFF(分鐘,開始時間,結束時間) - 午餐)/ 60.0 AS HoursWorked'。 –