BETWEEN 操作符用于查询闭区间范围内的数据,包含边界值;其语法为select 列名 FROM 表名 WHERE 列名 BETWEEN 值 1 AND 值 2,等价于列名大于等于值 1 且小于等于值 2。

在 mysql 中使用 BETWEEN 操作符可以方便地查询某个范围内的数据,比如数值、日期或 字符串。它包含边界值,也就是“闭区间”,查询结果会包括指定的起始值和结束值。
基本语法
BETWEEN 的基本语法如下:
SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值 1 AND 值 2;
这条语句会选出列值大于等于“值 1”且小于等于“值 2”的所有记录。
数值范围查询示例
假设有一个学生表 students,其中有个字段 score 表示成绩,你想查成绩在 80 到 90 之间的学生:
SELECT * FROM students WHERE score BETWEEN 80 AND 90;
这等价于:
SELECT * FROM students WHERE score >= 80 AND score <= 90;
日期范围查询示例
如果要查询某段时间内的记录,比如查找 2024 年 6 月 1 日到 2024 年 6 月 30 日之间注册的用户:
SELECT * FROM users WHERE register_date BETWEEN '2024-06-01' AND '2024-06-30';
确保日期格式正确(YYYY-MM-DD),否则可能查不出结果。
字符串范围查询示例
BETWEEN 也适用于字符串,按字母顺序比较。例如查询姓名从 ’A’ 到 ’K’ 开头的用户:
SELECT * FROM users WHERE name BETWEEN 'A' AND 'K';
注意:字符串比较是区分大小写的,取决于字段的排序规则(collation)。建议测试时留意大小写影响。
使用 NOT BETWEEN 排除范围
如果你想查不在某个范围的数据,可以加 NOT:
SELECT * FROM students WHERE score NOT BETWEEN 70 AND 85;
这会返回成绩低于 70 或高于 85 的所有学生。
基本上就这些。BETWEEN 简洁明了,适合范围筛选,记得边界值是包含的,写条件时不用额外加等于。只要 数据类型 匹配,用起来很顺手。