BETWEEN 演算子は、範囲内の値を選択するために使用します。
BETWEEN 演算子は、範囲内の値を選択します。値は、数値、テキスト、日付にすることができます。
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
このチュートリアルでは、よく知られた Northwind サンプルデータベースを使用します。
下は、"Products" テーブルからの抜粋です:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
4 | Chef Anton's Cajun Seasoning | 1 | 2 | 48 - 6 oz jars | 22 |
5 | Chef Anton's Gumbo Mix | 1 | 2 | 36 boxes | 21.35 |
次の SQL 文は、price が 10 と 20 の間の全 products を選択します:
前の例の範囲外にある products を表示するには、NOT BETWEEN を使用します:
次の SQL 文は、price が 10 と 20 の間の全 products を選択します。 しかし、CategoryID が 1、2、3 の products は表示しません:
C
SELECT * FROM Products
WHERE (Price BETWEEN 10 AND 20)
AND NOT
CategoryID IN (1,2,3);
次の SQL 文は、ProductName が 'C' と 'M' の間の任意の1文字で始まる、全 products を選択します:
次の SQL 文は、ProductName が 'C' と 'M' の間の任意の文字以外で始まる、全 products を選択します:
次は、"Orders" テーブルからの抜粋です:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10248 | 90 | 5 | 7/4/1996 | 3 |
10249 | 81 | 6 | 7/5/1996 | 1 |
10250 | 34 | 4 | 7/8/1996 | 2 |
10251 | 84 | 3 | 7/9/1996 | 1 |
10252 | 76 | 4 | 7/10/1996 | 2 |
次の SQL 文は、OrderDate が '04-July-1996' と '09-July-1996' の間の全 orders を選択します:
BETWEEN 演算子は、データベースによって、異なる結果になることがあることに注意してください!
或るデータベースでは、BETWEENに指定した値を除外したフィールドを選択します。
他のデータベースでは、BETWEENに指定した値を含んだフィールドを選択します。
さらに他のデータベースでは、BETWEENに指定した最初の値を含み、最後の値を含まないフィールドを選択するものがあります。
従って、あなたのデータベースでは、BETWEEN 演算子をどのように取扱っているのかを確認してください!