首頁 >資料庫 >mysql教程 >SQL Server 的「BETWEEN」運算子是否包含開始值和結束值?

SQL Server 的「BETWEEN」運算子是否包含開始值和結束值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-30 19:26:10332瀏覽

Does SQL Server's `BETWEEN` Operator Include the Start and End Values?

MS SQL Server 的「Between」運算子是否包含範圍邊界?

MS SQL Server 中的 BETWEEN 運算符,顧名思義,檢查給定表達式是否落在指定範圍內。然而,一個常見的問題是:這個範圍包含還是排除邊界值?

答案是 BETWEEN 是一個包含運算符,這意味著它同時包含範圍的下限和上限。澄清一下:

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10

此查詢將檢索 foo >= 5 且

如果 test_expression 的值大於或等於 begin_expression 的值且小於或等於 end_expression 的值,則 BETWEEN 傳回 TRUE。

日期時間注意事項

對於日期時間值,需要記住一個微妙的考慮因素。如果僅指定日期,則解釋為當天的午夜。為了避免遺失或重複時間值,建議使用不包括結束日期午夜之前 3 毫秒的範圍。

例如,要檢索2016 年6 月內的所有日期時間值:

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

這可確保範圍延伸到月底,而不包含7 月以來的任何值1st.

datetime2 和datetimeoffset

對於這些資料類型,使用 >= 和

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

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

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