在 SQL 中,BETWEEN
运算符与 WHERE 子句一起使用时,用于选择给定范围内的值。
示例
-- select rows where the amount is between 200 and 600
SELECT *
FROM Orders
WHERE amount BETWEEN 200 AND 600;
这里,SQL 命令从 Orders 表中选择所有列,其中 amount 在 200 到 600 之间(包括 200 和 600)。
SQL BETWEEN 语法
SELECT column1, column2, ...
FROM table
WHERE column BETWEEN value1 AND value2;
这里,
column1, column2, ...
是您要筛选的列table
是表的名称。column
是我们要指定值范围的列的名称BETWEEN
是一个运算符,用于为列指定值的范围value1
和value2
是范围的下限和上限
示例:SQL BETWEEN
SELECT item, amount
FROM Orders
WHERE amount BETWEEN 300 AND 500;
这里,我们从 Orders 中选择了 item 和 amount 列,其中金额在 300 到 500 之间(包括 300 和 500)。

SQL NOT BETWEEN 运算符
NOT BETWEEN
运算符用于排除与范围内值匹配的行。它返回除了被排除的行之外的所有行。
让我们看一个例子。
-- exclude rows with amount between 300 and 500
SELECT item, amount
FROM Orders
WHERE amount NOT BETWEEN 300 AND 500;
这里,我们从 Orders 中选择了所有项目,但排除了金额在 300 到 500 之间的行(300 和 500 也被排除)。

SQL BETWEEN 运算符与文本
BETWEEN
运算符也适用于文本数据。
-- select rows where items begin with letters between 'I' and 'L' inclusive
-- this includes all items starting with 'I', 'J', 'K', and any items starting with 'L'
SELECT item, amount
FROM Orders
WHERE item BETWEEN 'I' AND 'L';
这里,SQL 命令选择所有项目名称以字母 I 到 L 开头的订单。

通常,以终点 (L
) 开头的单词不会被选中。
如果您需要包含所有以 L
开头的单词,我们可以使用 ~
。
-- select rows where items begin with letters between 'I' and 'L'
-- include all items beginning with 'L' followed by other characters
SELECT item, amount
FROM Orders
WHERE item BETWEEN 'I' AND 'L~';
SQL BETWEEN 日期
在 SQL 中,我们还可以使用 BETWEEN 来筛选两个日期之间的数据。
让我们看一个例子。
-- get the records of those teams
-- who registered between given dates
SELECT *
FROM Teams
WHERE registered BETWEEN '2021-01-01' AND '2022-11-01';
这里,我们选择了在 2021-01-01
和 2022-11-01
之间注册的团队。
另请阅读