このトピックでは、ESQL の複雑な比較演算子 (述部) について説明します。ESQL の単純な比較演算子に関する情報については、ESQL の単純な比較演算子を参照してください。
(source >= boundary1 AND source <= boundary2) OR (source >= boundary2 AND source <= boundary1)
ASYMMETRIC 形式は、以下と同等です。
source >= boundary1 AND source <= boundary2
ASYMMETRIC 形式の方が単純ですが、第 1 の境界値の値が第 2 の境界値より小さい場合に、期待する結果を戻すに過ぎません。境界条件式がリテラルの場合にのみ役立ちます。
オペランドのタイプが異なる場合には、特別な規則が適用されます。これについては、暗黙のキャストで説明されています。
EXISTS(SELECT * FROM something WHERE predicate)
また IS を使用して、ブール値 TRUE および FALSE のテストを行ったり、10 進数の値が特殊値かどうかテストしたりできます。これらのテストは、大/小文字混合した値 INF、+INF、-INF、 NAN (数値ではない)、および NUM (有効な数値) によって示されます。代替フォーム +INFINITY、-INFINITY、および NUMBER も受け入れられます。
非数値タイプに適用される場合、結果は FALSE となります。
パターンは、特別な意味を持つパーセント (%) 文字および下線 (_) 文字のストリングで指定します。
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 '$'