我試圖從包含時間格式爲DateTime的列中提取數字小時值。例如,這裏有從該列幾個記錄:使用DATEPART函數從datetime列中提取小時值
Time Aired
4:20:00 PM
12:51:00 PM
3:17:00 PM
3:24:00 PM
從這個專欄中,我正在試圖提取4,12,3,3等。DATEPART功能似乎是一個很好的選擇。但是,當我嘗試使用如下所示的函數時,系統會提示輸入Hour的參數。這導致我相信我錯誤地實施了DATEPART。有人可以發現問題可能是什麼?問題可能是我的日期時間格式化列只包含時間值?
SELECT DATEPART(hour, [Time Aired]) AS Foo
FROM DRTV_CentralOnly
WHERE [Time Aired] <> null;
謝謝。我不知道我是如何忽略文檔中的引號的。關於WHERE語句,兩個版本都有效。我不知道是否更好。 – hughesdan 2012-03-14 19:36:47
是的,如果我使用<> null – hughesdan 2012-03-14 19:40:18
,我會得到相同的查詢結果這已經過去了幾年,所以希望您現在使用「is not null」而不是「<> null」。參考:[如何獲得空可怕錯誤](https://www.simple-talk.com/sql/t-sql-programming/how-to-get-nulls-horribly-wrong-in-sql-server/) – RobertB 2016-06-21 21:49:05