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 的用法,有什么看法?欢迎留言讨论,也希望大家多多点赞关注,祝各位生活愉快!
 
原文地址:https://www.cnblogs.com/east7/p/13257516.html