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中文網其他相關文章!