在本教學中將學習如何使用Oracle BETWEEN
運算子來選擇值在一個範圍內的行資料。
BETWEEN
運算子允許指定要測試的範圍。當使用BETWEEN
運算子為SELECT語句返回的行形成搜尋條件時,只返回其值在指定範圍內的行。
以下說明BETWEEN
運算子的語法:
expression [ NOT ] BETWEEN low AND high
在上面的語法中,
low
和hight
指定要測試的範圍的下限值和上限值。low
和hight
值可以是文字或表示式。low
和hight
定義的範圍內測試的表示式。 為了能夠比較,expression
,low
和hight
的資料型別必須是相同的。AND
運算子充當預留位置來分隔low
和hight
的值。如果表示式(expression
)的值大於或等於low
的值,小於或等於hight
的值,則BETWEEN
運算子返回true
。
value >= low AND value <= high
NOT BETWEEN
運算子否定BETWEEN
運算子的結果。
下面來看看使用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;
執行上面查詢語句,得到以下結果 -
我們使用範例資料庫中的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
運算子來選擇特定範圍內的行資料。