ESQL には、次の比較演算子 (述部) が用意されています。
この演算子は、SYMMETRIC と ASYMMETRIC (どちらも指定しない場合のデフォルト) の 2 つの形式で存在します。 SYMMETRIC 形式は、以下と同等です。
(source >= boundary1 AND source <= boundary2) または (source >= boundary2 AND source <= boundary1)
ASYMMETRIC 形式は、以下と同等です。
source >= boundary1 AND source <= boundary2
ASYMMETRIC 形式の方が単純ですが、第 1 の境界値の値が第 2 の境界値より小さい場合に、期待する結果を戻すに過ぎません。 境界条件式がリテラルの場合にのみ役立ちます。
上記のどの場合でも、オペランドが NULL なら結果は UNKNOWN です。 オペランドのタイプが異なる場合には、特別な規則が適用されます。 これについては、暗黙のキャストで説明されています。
IN operator .-,---------. V | >>-operand_1--+-----+--IN--(----operand_2-+--)----------------->< '-NOT-'
左オペランドが NULL でなく、右オペランドのいずれかと等しいなら、結果は TRUE になります。 左オペランドが NULL でなく、右オペランドのどれも NULL 値でなく、 左オペランドが右オペランドのどれにも等しくないなら、結果は FALSE です。 それ以外の場合、結果は UNKNOWN です。 オペランドのタイプが異なる場合には、特別な規則が適用されます。 これについては、暗黙のキャストで説明されています。
どのオペランドも NULL ではなく、 ソース・オペランド (operand_1) がパターン・オペランドと一致する場合、結果は TRUE です。 どのオペランドも NULL ではなく、ソース・オペランドがパターン・オペランドと一致しない場合、 結果は FALSE です。 それ以外の場合、結果は UNKNOWN です。
パターンは、特別な意味を持つパーセント (%) 文字および下線 (_) 文字のストリングで指定します。
Body.Trade.Company LIKE 'I__'
Body.Trade.Company LIKE 'I%'
パーセント文字および下線文字をマッチングの対象とする式の中で使用するには、 これらの文字の前にエスケープ文字を付ける必要があります。 エスケープ文字のデフォルトは、円記号 (¥) 文字です。
たとえば、次の述部は、IBM_Corp と一致するものを検索します。
Body.Trade.Company LIKE 'IBM¥_Corp'
ESCAPE 文節を使用すれば、別のエスケープ文字を指定できます。 たとえば、上記の例を次のように指定することもできます。
Body.Trade.Company LIKE 'IBM$_Corp' ESCAPE '$'
これには、大文字小文字混合した値 INF、+INF、-INF、 NAN (数値ではない)、および NUM のテストが含まれます。 代替フォーム +INFINITY、-INFINITY、および NUMBER も受け入れられます。
非数値タイプに適用される場合、結果は FALSE となります。
これは、比較演算子 (=) ではできません。 NULL との比較結果は常に NULL になるからです。 さらにこれを使用した場合、ブール値のテストが英語として自然な形になります。
左オペランドの値が、指定された値 (TRUE、FALSE、UNKNOWN、または NULL) に等しい場合、 または NOT 文節が指定された場合は等しくない場合、結果は TRUE になります。 それ以外の場合、結果は FALSE です。
EXISTS(SELECT * FROM something WHERE predicate)
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ah18830_ |