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 的用法,有什么看法?欢迎留言讨论,也希望大家多多点赞关注,祝各位生活愉快!
读后有收获,小礼物走一走,请作者喝咖啡。
Buy me a coffee. ☕Get red packets.
作者:楼兰胡杨
本文版权归作者和博客园共有,欢迎转载,但请注明原文链接,并保留此段声明,否则保留追究法律责任的权利。