12.1 BETWEEN的作用

BETWEEN操作符用于选取介于两个值之间的数据范围内的值。

12.2 BETWEEN的边界

BETWEEN运算符选择给定范围内的值,值可以是数字、文本或者日期。

BETWEEN运算符是包含性的:包括开始和结束值,等价于>= AND <=

12.3 BETWEEN的语法



SELECT column_name(s)
FROM table_name
WHERE coulumn_name BETWEEN value1 AND value2;


12.4 BETWEEN实例



SELECT *
FROM Products
WHERE 价格 BETWEEN 30 AND 60;


12.5 NOT BETWEEN实例

要显示前面示例范围之外的产品,请使用NOT BETWEEN:



SELECT *
FROM Products
WHERE 价格 NOT BETWEEN 30 AND 60;

或者

SELECT *
FROM Products
WHERE NOT 价格 BETWEEN 30 AND 60;


12.6 带有IN的BETWEEN操作符实例



--查询价格在10到60之间但名称不是大米和香蕉的所有产品

SELECT *
FROM Products
WHERE (价格 BETWEEN 10 AND 60)
AND 名称 NOT IN('大米','香蕉');


12.7 带有文本值的BETWEEN操作符实例



SELECT *
FROM Products
WHERE 名称 BETWEEN '面包' AND '香蕉';


12.8 带有文本值的NOT BETWEEN操作符实例



SELECT *
FROM Products
WHERE 名称 NOT BETWEEN '面包' AND '香蕉';


12.9 带有日期值的BETWEEN操作符实例



SELECT *
FROM Products
WHERE 订单日期 BETWEEN '2018-06-28' AND '2018-09-28';


注意:



SQL 中 between and 是包括边界值的,not between 不包括边界值,不过如
果使用 between and 限定日期需要注意,如果 and 后的日期是到天的,那么默
认为 00:00:00 例如:and 后的日期为 2018 年 09 月 28 日,就等价于 2018-0
9-28 00:00:00 ,那么 2018-09-28 11:24:54.000 的数据就查不到了,如果要
查到 2018-09-28 这一整天的数据,那么在取值的时候需要加 1 天,即 BETWE
EN '2018-06-28' AND '2018-09-29',这样返回的就是 6 月 28 日(含)到 9 月 2
8 日(含)的所有数据了。