首页文档便民工具JavaScript正则表达式SQL教程
首页/文档/

一. 基本定义

在 SQL 中,BETWEEN 操作符用于筛选某个范围内的数据。它可以用于数值、文本或日期。AND 关键字与 BETWEEN 一起使用,定义范围的上下限。

请注意,在不同的数据库中,BETWEEN 操作符会产生不同的结果!

请检查您的数据库是如何处理 BETWEEN 操作符!

在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。

1. 基本语法:

SELECT column1, column2, ...
FROM table_name
WHERE column BETWEEN value1 AND value2;

2. 参数说明:

  • column1, column2, ...:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。

  • table_name:要查询的表名称。

  • column:要查询的字段名称。

  • value1:范围的起始值。

  • value2:范围的结束值。

3. NOT BETWEEN AND

与 BETWEEN AND 相反,表示不在范围内的其他所有数据。

二. 用法示例

1. 数值范围

获取年龄在18-20岁之间的学生信息:

SELECT * FROM student WHERE age BETWEEN 18 AND 20;

2. 日期范围

获取出生日期在2006年-2024年之间的学生信息:

SELECT * FROM student WHERE birth_time BETWEEN "2006-1-1" AND "2024-12-31";

3. 文本范围

你也可以使用 BETWEEN 来进行字符串的字典顺序范围比较。比如,假设你有一个 Employees 表,其中有一个 last_name 列(姓氏列),你想找到所有姓氏在字母 "A" 到 "M" 之间的员工:

SELECT employee_id, last_name FROM Employees WHERE last_name BETWEEN "A" AND "M";

这将返回所有姓氏首字母在 "A" 到 "M" 之间(包括 "A" 和 "M")的员工。

4. NOT BETWEEN AND

获取年龄不在18-20岁的学生信息:

SELECT * FROM student WHERE age NOT BETWEEN 18 AND 20;

三. 注意事项

1. 包含边界值

需要注意,不同的数据库,对 BETWEEN AND 是否包含边界的定义不一致。

2. 范围的顺序

BETWEEN 的范围是有顺序要求的。例如,上面示例中,如果改成 BETWEEN 20 AND 18,返回的结果集为空 。

SELECT * FROM student WHERE age BETWEEN 20 AND 18;

3. 数据类型匹配

确保列的数据类型与你比较的值的数据类型相符。例如,不要将日期与字符串进行比较。

目录
一. 基本定义
1. 基本语法:2. 参数说明:3. NOT BETWEEN AND
二. 用法示例
1. 数值范围2. 日期范围3. 文本范围4. NOT BETWEEN AND
三. 注意事项
1. 包含边界值2. 范围的顺序3. 数据类型匹配