首頁 >資料庫 >mysql教程 >MS SQL Server 的「BETWEEN」運算子是否包含邊界值?

MS SQL Server 的「BETWEEN」運算子是否包含邊界值?

Patricia Arquette
Patricia Arquette原創
2024-12-26 14:20:12673瀏覽

Does MS SQL Server's `BETWEEN` Operator Include Boundary Values?

邊界值是否適用於 MS SQL Server 的「 Between」運算子?

MS SQL Server 中的「 Between」運算子是包容性的,如線上書籍中定義。這意味著大於或等於下限(“begin_expression”)且小於或等於上限(“end_expression”)的值將包含在結果集中。

例如,以下查詢將選擇「foo」列包含5 到10 之間的值的所有行,包括:

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10

DateTime注意事項

使用DateTime 值時,請務必注意,在「之間」比較中僅考慮日期部分。為了確保結果準確,您必須為結束日期指定午夜前 3 毫秒的時間分量。這可以防止結束日期範圍內的值出現任何資料遺失或重複。

例如,要檢索「myDateTime」列包含2016 年6 月內的值的所有行,您可以使用以下查詢:

WHERE myDateTime BETWEEN '20160601' AND DATEADD(millisecond, -3, '20160701')

Datetime2 和Datetimeoffset 操作

改為減去3 毫秒,建議在使用datetime2 或datetimeoffset 資料類型時使用以下更簡單、更準確的方法:

WHERE myDateTime >= '20160601' AND myDateTime < '20160701'

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

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