邊界值是否適用於 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中文網其他相關文章!