機能
BETWEEN述語は、範囲比較を指定します。
記述形式
参照項番
値式 → “2.11 値式”
行値構成子→“2.10 行値構成子”
一般規則
BETWEEN述語で指定する3つの値式のデータ型は、比較可能であることが必要です。比較可能なデータ型は“表2.58 比較可能なデータ型”を参照してください。
BETWEEN述語で“x BETWEEN y AND z”と記述したものは、比較述語で“x>=y AND x<=z”と記述したのと同じ意味です。
“x NOT BETWEEN y AND z”と記述したものは、“NOT (x BETWEEN y AND z)”と記述したのと同じ意味です。また、比較述語で“x<y OR x>z”と記述したのと同じ意味です。
オペランドの一つに行値構成子を指定する場合、残りのオペランドも行値構成子でなければなりません。
オペランドに行値構成子を指定した場合、3つのオペランドに指定した行値構成子要素リストの値式の数は、同じであることが必要です。
行値構成子要素リストに指定した値式のデータ型は、対応する他のオペランドの行値構成子要素リストに指定した値式のデータ型と、比較可能であることが必要です。比較可能なデータ型は“表2.58 比較可能なデータ型”を参照してください。
BETWEEN述語の各オペランドに動的パラメタ指定が指定された場合のDESCRIBE情報を以下に示します。
オペランド | DESCRIBE情報 |
---|---|
1番目の値式 | 2番目の値式のデータ型 |
2番目の値式 | 1番目の値式のデータ型 |
3番目の値式 | 1番目の値式のデータ型 |
備考.1番目の値式が動的パラメタ指定で、2番目または3番目の値式が動的パラメタ指定の場合は、エラーとなります。
使用例
“比較述語”の使用例で示した表Tに対して、列C2の値が10以上かつ15以下の行を検索します。
SELECT C1 FROM T WHERE C2 BETWEEN 10 AND 15 →この結果として、行R1とR6が選択されます。