最新的Web开发教程
 

SQL运营商之间


BETWEEN运算用于在范围内选择值。


运营商之间的SQL

的范围内的间操作员选择的值。 值可以是数字,文本,或日期。

SQL语法之间

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运算符样板间

要显示前一个例子范围之外的产品,使用NOT BETWEEN:

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

试一试»

BETWEEN运营商,在例

下面的SQL语句将选择10和20之间价格的所有产品,但产品的1,2个类别ID,或3不应该显示:

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

试一试»

运营商之间使用文本值示例

下面的SQL语句选择所有产品与ProductName与任何BETWEEN'C'和'M'字母开头的:

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

试一试»

NOT BETWEEN操作使用文本值示例

下面的SQL语句选择所有产品与产品名称与任何字母NOT BETWEEN'C'和'M'的开始:

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

试一试»

示例表

下面是从选择"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

运营商之间使用日期值示例

下面的SQL语句选择具有所有订单OrderDate'04-July-1996''09-July-1996'

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

试一试»

请注意,BETWEEN运营商可以在不同的数据库产生不同的结果!
有些数据库之间进行选择是之间,不包括测试值的字段。
在其他的数据库,之间进行选择是之间并包括测试值的字段。
而在其他的数据库,之间进行选择的试验值之间的字段,包括所述第一测试值与不包括最后的测试值。

因此:检查你的数据库是如何处理BETWEEN运算!