MySQL「 Between」子句:考慮到包容性
在MySQL查詢中使用「 Between」子句時,必須考慮其子句時,必須考慮其子句非-關於最終值的包容性。例如,執行以下查詢:
select * from person where dob between '2011-01-01' and '2011-01-31'
將檢索出生日期(DOB) 範圍從“2011-01-01”到“2011-01-30”的結果,不包括帶有DOB 的記錄' 2011-01-31'。
此行為可歸因於MySQL 對「Between」的解釋子句作為邏輯表達式,類似於:
(min <= expr AND expr <= max)
為了解釋這一點並包含DOB 為「2011-01 -31”的記錄,可以用兩種方式修改查詢:
方法1:使用比較運算符
透過使用比較運算符,查詢可以明確檢查兩者上限和下限:
select * from person where dob >= '2011-01-01' and dob <= '2011-01-31'
方法2:利用NOT BETWEEN運算子
或者,可以使用「NOT BETWEEN」運算子排除特定範圍同時包含所需的端點:
select * from person where dob NOT BETWEEN '2011-01-02' and '2011-01-30'
以上是MySQL 的 BETWEEN 子句是否包含上限?的詳細內容。更多資訊請關注PHP中文網其他相關文章!