將日期時間值與SQL Server 中的日期進行比較
在資料庫中查詢在特定日期建立的記錄時,重要的是要考慮列的日期時間性質。使用等於運算子(例如 U.DateCreated = '2014-02-07')將日期時間欄位與僅日期部分進行比較可能不會傳回預期結果。
解決方案1:使用日期範圍
要準確比較日期時間字段與日期部分,請使用日期range:
Select * from [User] U where U.DateCreated >= '2014-02-07' and U.DateCreated < dateadd(day,1,'2014-02-07')
此方法可確保檢索在「2014-02-07」所建立的記錄,無論時間成分為何。
避免 WHERE 子句中的函數的原因
不建議在中使用函數(例如轉換) WHERE子句有兩個主要原因:
日期範圍的最佳實踐
為了在查詢日期和時間範圍時獲得最佳效能和準確性,最佳實踐是使用以下格式:
WHERE col >= '20120101' AND col < '20120201'
以上是如何在 SQL Server 中有效率地比較日期時間值和僅日期部分?的詳細內容。更多資訊請關注PHP中文網其他相關文章!