在本教程中,您将学习如何使用Oracle BETWEEN
运算符来选择值在一个范围内的行数据。
Oracle BETWEEN运算符简介
BETWEEN
运算符允许指定要测试的范围。当使用BETWEEN
运算符为SELECT语句返回的行形成搜索条件时,只返回其值在指定范围内的行。
以下说明BETWEEN
运算符的语法:
expression [ NOT ] BETWEEN low AND high
在上面的语法中,
- low 和high -
low
和hight
指定要测试的范围的下限值和上限值。low
和hight
值可以是文字或表达式。 - expression - 是
low
和hight
定义的范围内测试的表达式。 为了能够比较,expression
,low
和hight
的数据类型必须是相同的。 - AND -
AND
运算符充当占位符来分隔low
和hight
的值。
如果表达式(expression
)的值大于或等于low
的值,小于或等于hight
的值,则BETWEEN
运算符返回true
。
value >= low AND value <= high
NOT BETWEEN
运算符否定BETWEEN
运算符的结果。
Oracle BETWEEN示例
下面来看看使用Oracle BETWEEN
运算符的一些示例。
1. Oracle BETWEEN数值示例
请参阅示例数据库中的以下products
表:
以下语句返回标准成本在500
到600
之间的所有产品:
SELECT
product_name,
standard_cost
FROM
products
WHERE
standard_cost BETWEEN 500 AND 600
ORDER BY
standard_cost;
在此示例中,我们将标准成本(standard_cost
)列中的值与500
(含)到600
(含)之间的范围进行比较。该查询仅返回标准成本在以下范围之间的产品:
要查询标准成本不在500
和600
之间的产品,请按如下方式将NOT
运算符添加到上述查询中:
SELECT
product_name,
standard_cost
FROM
products
WHERE
standard_cost NOT BETWEEN 500 AND 600
ORDER BY
product_name;
执行上面查询语句,得到以下结果 -
2. Oracle BETWEEN日期示例
我们使用示例数据库中的orders
表进行演示:
以下查询语句将返回2016年12月1日至2016年12月31日期间客户的订单:
SELECT
order_id, customer_id, status, order_date
FROM
orders
WHERE
order_date BETWEEN DATE ‘2016-12-01‘ AND DATE ‘2016-12-31‘
ORDER BY
order_date;
执行上面查询语句,得到以下结果 -
在本教程中,您已学习如何使用Oracle BETWEEN
运算符来选择特定范围内的行数据。