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運算子來選擇特定範圍內的行資料。