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';