首頁 > 資料庫 > mysql教程 > MS SQL Server 的「BETWEEN」運算子是包含還是排除?

MS SQL Server 的「BETWEEN」運算子是包含還是排除?

DDD
發布: 2024-12-27 21:41:14
原創
164 人瀏覽過

Is MS SQL Server's `BETWEEN` Operator Inclusive or Exclusive?

使用MS SQL Server 的「BETWEEN」運算子進行包含範圍擷取

使用MS SQL Server 的「BETWEEN」運算子時,必須了解是否範圍邊界包含或排除在選擇標準中。

回答具體問題問題,「BETWEEN」運算子是包容性的。這意味著,預設情況下,指定為下限和上限的值包含在結果集中。在提供的範例中:

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10
登入後複製

查詢將選擇「foo」列的值在(並包含)5 和 10 之間的所有行。

但是,這種包含行為使用 DateTimes 時可能會提出警告。預設情況下,當僅指定日期時,SQL Server 會將其視為當天的午夜。這意味著,如果要捕獲特定日期內的所有值,則必須從結束日期減去 3 毫秒,以避免丟失午夜前 3 毫秒內的資料。

例如,要檢索以內的所有值2016 年6 月,正確的查詢為:

where myDateTime between '20160601' and DATEADD(millisecond, -3, '20160701')
登入後複製

這可確保您捕獲2016 年6 月內的所有值,包括屬於3年內的值6 月30 日午夜之前的毫秒。

要注意的是,雖然對於大多數資料型別來說,「BETWEEN」運算子是包容性的,但也有例外。例如,對於「datetime2」和「datetimeoffset」資料類型,通常建議使用「>=」和「

以上是MS SQL Server 的「BETWEEN」運算子是包含還是排除?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板