首頁 >資料庫 >mysql教程 >如何在SQL Server中正確查詢大於特定值的日期?

如何在SQL Server中正確查詢大於特定值的日期?

Barbara Streisand
Barbara Streisand原創
2024-12-27 02:19:10217瀏覽

How to Correctly Query for Dates Greater Than a Specific Value in SQL Server?

在SQL Server 中查詢大於特定值的日期

嘗試使用以下程式碼片段在SQL Server 中查詢大於特定日期的日期時:

SELECT * 
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;

您可能會遇到意外錯誤。這是因為日期值 2010-04-01 被 SQL Server 解釋為數學表達式,從而有效地將其轉換為 2005。要解決此問題,需要使用Convert 函數將日期值轉換為正確的日期時間格式:

SELECT *  
FROM dbo.March2010 A 
WHERE A.Date >= Convert(datetime, '2010-04-01' )

或者,您可以明確地將日期值括在單引號中,這也會觸發conversion :

SELECT *  
FROM dbo.March2010 A 
WHERE A.Date >= '2010-04-01'

雖然後一種方法在技術上是可以接受的,但通常認為它的可讀性和可維護性較差。透過明確使用 Convert 函數,您可以讓轉換對於未來的維護者來說更加明顯。

以上是如何在SQL Server中正確查詢大於特定值的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn