between用于选择值在一个范围内的行数据,语法“SELECT 字段名 FROM 表名 WHERE 表达式 [NOT] BETWEEN 下限 AND 上限”;当该关键字为SELECT语句返回的行形成搜索条件时,只返回其值在指定范围内的行。
本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。
BETWEEN运算符可以用来在Oracle中选择值在一个范围内的行数据。
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教程》