概要 :このチュートリアルでは、SQLite BETWEEN
の使用方法を学習します 値が値の範囲内にあるかどうかをテストする演算子。
SQLite BETWEEN
の紹介 オペレーター
BETWEEN
演算子は、値が値の範囲内にあるかどうかをテストする論理演算子です。値が指定された範囲内にある場合、BETWEEN
演算子はtrueを返します。 BETWEEN
演算子はWHERE
で使用できます SELECT
の句 、DELETE
、UPDATE
、および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
の使用方法を学びました。 値が値の範囲内にあるかどうかをテストする演算子