7.20.1 BETWEEN述語
特定の範囲のデータを検索する際にBETWEEN述語を使用します。
- 〈この項の構成〉
(1) 指定形式
BETWEEN述語::=値式1 〔NOT〕 BETWEEN 値式2 AND 値式3
(2) 指定形式の説明
- 値式1:
-
BETWEEN述語の評価対象列を指定します。値式の形式で指定します。値式については,「7.21 値式」を参照してください。
- NOT:
-
NOTを指定すると,BETWEEN以降に指定した条件を満たさない値が検索対象になります。
- BETWEEN 値式2 AND 値式3:
-
検索範囲の下限値と上限値を指定して,検索範囲を指定します。値式の形式で指定します。
値式2には検索範囲の下限値を指定し,値式3には検索範囲の上限値を指定します。
(3) 述語の評価
次に示す条件を満たす行に対して,BETWEEN述語は真になります。
値式2≦値式1 AND 値式1≦値式3
次に示すBETWEEN述語は等価になります。
-
値式1 NOT BETWEEN 値式2 AND 値式3
-
NOT(値式1 BETWEEN 値式2 AND 値式3)
(4) 規則
-
?パラメタだけの値式を値式1に指定できません。
-
値式1〜値式3に指定できるデータ型は,数データ,文字データ,または日時データです。
-
値式1〜値式3の結果のデータ型が,比較可能なデータ型になるように値式1〜値式3を指定してください。比較可能なデータ型については,「6.2.2 変換,代入,比較できるデータ型」の「(1) 比較できるデータ型」を参照してください。
ただし,値式1に日付,時刻,または時刻印を表す既定の入力表現を指定した場合,値式2以降に日時データを指定することはできません。既定の入力表現については,「6.3.3 既定の文字列表現」を参照してください。
(5) 例題
- 例題1
-
販売履歴表(SALESLIST)から,2011/9/4〜2011/9/5に商品を購入した顧客の,顧客ID(USERID),商品コード(PUR-CODE),購入日(PUR-DATE)を検索します。
SELECT "USERID","PUR-CODE","PUR-DATE" FROM "SALESLIST" WHERE "PUR-DATE" BETWEEN DATE'2011-09-04' AND DATE'2011-09-05'
下線部分がBETWEEN述語の指定です。
- 例題2
-
販売履歴表(SALESLIST)から,2011/9/4〜2011/9/5を除いた日に商品を購入した顧客の,顧客ID(USERID),商品コード(PUR-CODE),購入日(PUR-DATE)を検索します。
SELECT "USERID","PUR-CODE","PUR-DATE" FROM "SALESLIST" WHERE "PUR-DATE" NOT BETWEEN DATE'2011-09-04' AND DATE'2011-09-05'
下線部分がBETWEEN述語の指定です。