Oracle Between子句

Posted youseiraws

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle Between子句相关的知识,希望对你有一定的参考价值。

在本教程中,您将学习如何使用Oracle BETWEEN运算符来选择值在一个范围内的行数据。

Oracle BETWEEN运算符简介

BETWEEN运算符允许指定要测试的范围。当使用BETWEEN运算符为SELECT语句返回的行形成搜索条件时,只返回其值在指定范围内的行。

以下说明BETWEEN运算符的语法:

expression [ NOT ] BETWEEN low AND high

在上面的语法中,

  • lowhigh - lowhight指定要测试的范围的下限值和上限值。lowhight值可以是文字或表达式。
  • expression - 是lowhight定义的范围内测试的表达式。 为了能够比较,expressionlowhight的数据类型必须是相同的。
  • AND - AND运算符充当占位符来分隔lowhight的值。

如果表达式(expression)的值大于或等于low的值,小于或等于hight的值,则BETWEEN运算符返回true

value >= low AND value <= high

NOT BETWEEN运算符否定BETWEEN运算符的结果。

Oracle BETWEEN示例

下面来看看使用Oracle BETWEEN运算符的一些示例。

1. Oracle BETWEEN数值示例

请参阅示例数据库中的以下products表:

技术分享图片

以下语句返回标准成本在500600之间的所有产品:

SELECT
    product_name,
    standard_cost
FROM
    products
WHERE
    standard_cost BETWEEN 500 AND 600
ORDER BY
    standard_cost;

在此示例中,我们将标准成本(standard_cost)列中的值与500(含)到600(含)之间的范围进行比较。该查询仅返回标准成本在以下范围之间的产品:

技术分享图片

要查询标准成本不在500600之间的产品,请按如下方式将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运算符来选择特定范围内的行数据。



以上是关于Oracle Between子句的主要内容,如果未能解决你的问题,请参考以下文章

Oracle Between子句

使用 SQL Server 复制 Oracle 的 RANGE BETWEEN 窗口子句语法

oracle 查询

在数据库中获取日期时出错(BETWEEN 子句| VB.NET|OLE)

将 sql BETWEEN 子句从 ANSI 89 转换为 ANSI 92

BETWEEN 子句与 <= AND >=