SQL語句between and邊界問題


   BETWEEN AND 需要兩個參數,即范圍的起始值a和終止值b,而且要求a<b。如果字段值在指定的【閉區間[a,b]】內,則這些記錄被返回;否則,記錄不會被返回。 字段值可以是數值、文本或者日期。

語法介紹

   使用 BETWEEN AND 的基本語法格式如下:
[NOT] BETWEEN 取值1 AND 取值2

其中:

  • NOT:可選參數,表示指定范圍之外的值。如果字段值不滿足指定范圍內的值,則這些記錄被返回。
  • 取值1:表示范圍的起始值。
  • 取值2:表示范圍的終止值,必須不小於取值1。

實戰分析

   BETWEEN AND 和 NOT BETWEEN AND 關鍵字在查詢指定范圍內的記錄時很有用。例如,查詢學生的年齡段、商品是否在有效期內和員工的工資水平等。下面演示兩個基於MySQL的示例。
   例1 判斷字段值是否在年齡段 20 到 23歲之間,SQL 語句和運行結果如下。
select 25 between 20 and 23;  -- 返回0,表示不在閉區間內
select 23 between 20 and 23;  -- 返回1,表示在閉區間內
select 20 between 20 and 23;  -- 返回1,表示在閉區間內
select '2020-07-07' between '2020-06-21' and '2020-07-07';  -- 返回1,表示在閉區間內

   例2 查詢id屬於閉區間[1,5]的數據,將返回id不小於1並且不大於5的所有記錄:

select * from test where id between 1 and 5;

結束語

   在MySQL、Oracle和 SQL Server數據庫中,操作符between and執行時,檢查范圍包括邊界值。大家對於 between and 的用法,有什么看法?歡迎留言討論,也希望大家多多點贊關注,祝各位生活愉快!
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM