SQL BETWEEN运算符

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

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

BETWEEN运算符是包含性的:包括开始和结束值,且开始值需小于结束值。

SQL BETWEEN 语法

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

 要否定BETWEEN运算符的结果,可以添加NOT运算符:

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

演示数据库


在本教程中,我们将使用著名的Northwind示例数据库。

以下是”Products”表中的数据:

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 – 12 oz bottles19
3Aniseed Syrup1212 – 550 ml bottles10
4Chef Antons Cajun Seasoning1248 – 6 oz jars22
5Chef Antons 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 NOT CategoryID IN (1,2,3);

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


以下SQL语句选择所有带有ProductName BETWEENCarnarvon Tigers和Mozzarella di Giovanni的产品:

实例

SELECT * FROM Products

WHERE ProductName BETWEEN Carnarvon Tigers AND Mozzarella di Giovanni

ORDER BY ProductName;

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


以下SQL语句选择ProductName不是BETWEENCarnarvon Tigers和Mozzarella di Giovanni的所有产品:

实例

SELECT * FROM Products

WHERE ProductName NOT BETWEEN Carnarvon Tigers AND Mozzarella di Giovanni

ORDER BY ProductName;

示例表


下面是选自 “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 操作符!

作者:terry,如若转载,请注明出处:https://www.web176.com/sql/12789.html

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2023年3月8日
下一篇 2023年3月8日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注