sql >> データベース >  >> RDS >> SQLite

SQLite BETWEEN

    概要 :このチュートリアルでは、SQLite BETWEENの使用方法を学習します 値が値の範囲内にあるかどうかをテストする演算子。

    SQLite BETWEENの紹介 オペレーター

    BETWEEN 演算子は、値が値の範囲内にあるかどうかをテストする論理演算子です。値が指定された範囲内にある場合、BETWEEN 演算子はtrueを返します。 BETWEEN 演算子はWHEREで使用できます SELECTの句 、DELETEUPDATE 、およびREPLACE ステートメント。

    以下に、SQLite BETWEENの構文を示します。 演算子:

    test_expression BETWEEN low_expression AND high_expression
    Code language: SQL (Structured Query Language) (sql)

    この構文では:

    • test_expression low_expressionで定義された範囲でテストする式です およびhigh_expression
    • low_expression およびhigh_expression 範囲の下限値と上限値を指定する有効な式です。 low_expression high_expression以下である必要があります 、またはBETWEEN は常にfalseを返します。
    • AND キーワードは、test_expressionを示すプレースホルダーです。 low_expressionで指定された範囲内にある必要があります およびhigh_expression

    BETWEENに注意してください 演算子は包括的です。 test_expressionの場合はtrueを返します high_expression以下 low_expressionの値以上 :

    test_expression >= low_expression AND test_expression <= high_expression
    Code language: SQL (Structured Query Language) (sql)

    排他的範囲を指定するには、より大きい(>)およびより小さい演算子(<)を使用します。

    BETWEENへの入力がある場合は注意してください 演算子がNULL、結果がNULL、または正確には不明です。

    BETWEENの結果を無効にするには 演算子の場合、NOT BETWEENを使用します 次のように演算子:

    test_expression NOT BETWEEN low_expression AND high_expression
    Code language: SQL (Structured Query Language) (sql)

    BETWEENではありません test_expressionの値がtrueの場合にtrueを返します low_expressionの値よりも小さい またはhigh_expressionの値より大きい :

    test_expression < low_expression OR test_expression > high_expression
    Code language: SQL (Structured Query Language) (sql)

    SQLite BETWEEN オペレーターの例

    invoicesを使用します デモンストレーション用のサンプルデータベースのテーブル:

    SQLite BETWEEN 数値の例

    次のステートメントは、合計がbetweenである請求書を検索します 14.96および18.86:

    SELECT
        InvoiceId,
        BillingAddress,
        Total
    FROM
        invoices
    WHERE
        Total BETWEEN 14.91 and 18.86    
    ORDER BY
        Total; 
    Code language: SQL (Structured Query Language) (sql)

    出力は次のとおりです:

    ご覧のとおり、合計が14.91または18.86の請求書が結果セットに含まれています。

    SQLite NOT BETWEEN 数値の例

    合計が1から20の間でない請求書を見つけるには、NOT BETWEENを使用します。 次のクエリに示されている演算子:

    SELECT
        InvoiceId,
        BillingAddress,
        Total
    FROM
        invoices
    WHERE
        Total NOT BETWEEN 1 and 20
    ORDER BY
        Total;    
    Code language: SQL (Structured Query Language) (sql)

    次の図は出力を示しています:

    出力に明確に示されているように、結果には、合計が1未満で20を超える請求書が含まれます。

    SQLite BETWEEN 日付の例

    次の例では、請求日がJanuary 1 2010からの請求書を検索します。 およびJanuary 31 2010

    SELECT
        InvoiceId,
        BillingAddress,
        InvoiceDate,
        Total
    FROM
        invoices
    WHERE
        InvoiceDate BETWEEN '2010-01-01' AND '2010-01-31'
    ORDER BY
        InvoiceDate;    
    Code language: SQL (Structured Query Language) (sql)

    出力は次のとおりです:

    SQLite NOT BETWEEN 日付の例

    次のステートメントは、日付が2009年1月3日から2013年12月1日までの間にない請求書を検索します。

    SELECT
        InvoiceId,
        BillingAddress,
        date(InvoiceDate) InvoiceDate,
        Total
    FROM
        invoices
    WHERE
        InvoiceDate NOT BETWEEN '2009-01-03' AND '2013-12-01'
    ORDER BY
        InvoiceDate;
    Code language: SQL (Structured Query Language) (sql)

    出力は次のとおりです。

    このチュートリアルでは、SQLiteのBETWEENの使用方法を学びました。 値が値の範囲内にあるかどうかをテストする演算子


    1. MySQLとSQLの違いは何ですか?

    2. ロックされた行を待たないようにするためのアドバイザリロックまたはNOWAIT?

    3. Oracle NULLIF()関数

    4. PostgreSQLの特定のスキーマのデータベースに保存されているすべての関数のリストを取得するにはどうすればよいですか?