我的sql語句是這樣的:我用DATEDIFF減去我的時間,但我得到了答案0每次我執行
SELECT DATEDIFF(hh, TimeIn,OutTime) AS Hours_Rendered
FROM DTR_TimeRecord
我的sql語句是這樣的:我用DATEDIFF減去我的時間,但我得到了答案0每次我執行
SELECT DATEDIFF(hh, TimeIn,OutTime) AS Hours_Rendered
FROM DTR_TimeRecord
請大家注意,DATEDIFF隱含蒙上字符串文字作爲datetime2的類型。這意味着當日期作爲字符串傳遞時,DATEDIFF不支持格式YDM。您必須明確地將字符串轉換爲datetime或smalldatetime類型才能使用YDM格式。
你TimeIn和OutTime必須是同一時刻的。像
TimeIn : '2016-05-17 11:31:33.190'
OutTime: '2016-05-17 11:35:41.790'
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 11:35:41.790')
上面的查詢將永遠給你0
不過,讓假設你OutTime是 '2016年5月17日12:35:41.790'
然後
select DATEDIFF(HH, '2016-05-17 11:31:33.190', '2016-05-17 12:35:41.790')
以上查詢會給你1.
謝謝我已經想通了,我想以這種格式顯示答案HH:MI:SS how我可以這樣做嗎? – Ralph
這一定會幫你
SELECT convert(TIME,dateadd(ms,DateDiff(ss, TimeIn, OutTime)*1000,0),114) AS Hours_Rendered FROM DTR_TimeRecord
是什麼timeln和outtime的日期? –
請編輯您的問題以包含樣本數據(最好是DDL + DML)和期望的結果。 –
閱讀https://msdn.microsoft.com/en-us/library/ms189794.aspx,瞭解有關DATEDIFF如何工作的信息 – Alex