SQL BETWEEN AND 语句

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

BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

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

 

演示数据库

在本教程中,我们将使用众所周知的 Northwind 样本数据库。

下面是选自 "Products" 表的数据:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning1248 - 6 oz jars22
5Chef Anton's Gumbo Mix1236 boxes21.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 以介于 'C' 和 'M' 之间字母开始的所有产品:

SELECT * FROM Products
WHERE ProductName BETWEEN 'C' AND 'M';
知识兔

 

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

下面的 SQL 语句选取 ProductName 不以介于 'C' 和 'M' 之间字母开始的所有产品:

SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'C' AND 'M';
知识兔

 

示例表

下面是选自 "Orders" 表的数据:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
102489057/4/19963
102498167/5/19961
102503447/8/19962
102518437/9/19961
102527647/10/19962

 

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

下面的 SQL 语句选取 OrderDate 介于 '04-July-1996' 和 '09-July-1996' 之间的所有订单:

SELECT * FROM Orders
WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#;
知识兔

请注意,在不同的数据库中,BETWEEN 操作符会产生不同的结果!
在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段。

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

计算机