MySQL BETWEEN 运算符

MySQL BETWEEN 运算符

BETWEEN 运算符用于选择在给定范围内的值。这些值可以是数字、文本或日期。

BETWEEN 运算符会同时包括开始值和结束值。

BETWEEN 语法

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

演示数据库

以下是 Northwind 演示数据库中 "Products" 表的一部分选择内容:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 1 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 1 2 36 boxes 21.35

BETWEEN 实例

以下 SQL 语句选择价格在 10 到 20 之间的所有产品:

实例

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;

亲自试一试

NOT BETWEEN 实例

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

实例

SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;

亲自试一试

带有 IN 的 BETWEEN 实例

以下 SQL 语句选择价格在 10 到 20 之间的所有产品。另外,不显示 CategoryID 为 1、2 或 3 的产品:

实例

SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND CategoryID NOT IN (1,2,3);

亲自试一试

BETWEEN 文本值实例

以下 SQL 语句选择 ProductName 在 "Geitost" 和 "Louisiana Hot Spiced Okra" 之间的所有产品:

实例

SELECT * FROM Products
WHERE ProductName BETWEEN 'Geitost' AND 'Louisiana Hot Spiced Okra'
ORDER BY ProductName;

亲自试一试

NOT BETWEEN 文本值实例

以下 SQL 语句选择 ProductName 不在 "Geitost" 和 "Louisiana Hot Spiced Okra" 之间的所有产品:

实例

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Geitost' AND 'Louisiana Hot Spiced Okra'
ORDER BY ProductName;

亲自试一试

实例表

以下是 Northwind 演示数据库中 "Orders" 表的一部分选择内容:

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 7/4/1996 3
10249 81 6 7/5/1996 1
10250 34 4 7/8/1996 2
10251 84 3 7/9/1996 1
10252 76 4 7/10/1996 2

BETWEEN 日期实例

以下 SQL 语句选择 OrderDate 在 '1996-07-01' 和 '1996-07-31' 之间的所有订单:

实例

SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';

亲自试一试