ESQL の単純な比較演算子

このトピックでは、ESQL の単純な比較演算子について説明します。ESQL の複雑な比較演算子に関する情報については、ESQL の複雑な比較演算子を参照してください。

ESQL には比較演算子 (述部) の完全なセットが備えられています。個々の演算子は、2 つのスカラー値を比較して、ブールを戻します。どちらかのオペランドがヌルの場合は、結果はヌルになります。両方ともヌルでない場合は、条件が満たされれば結果は真になり、満たされなければ偽になります。

すべてのスカラー・データ・タイプに比較演算子を適用できます。しかし、2 つのオペランドのタイプが異なる場合には、特別な規則が適用されます。これについては、暗黙のキャストで説明されています。

行とリストの比較もサポートする比較演算子があります。これについては、以下に注記されています。

演算子 >
第 1 オペランドが第 2 オペランドより大きい。
演算子 <
第 1 オペランドが第 2 オペランドより小さい。
演算子 >=
第 1 オペランドが第 2 オペランド以上。
演算子 <=
第 1 オペランドが第 2 オペランド以下。
演算子 =
第 1 オペランドが第 2 オペランドと等しい。

この演算子は、行とリストも比較できます。リストと行の比較についての説明は、 ROW および LIST の比較を参照してください。

演算子 <>
第 1 オペランドが第 2 オペランドと等しくない。

この演算子は、行とリストも比較できます。リストと行の比較についての説明は、 ROW および LIST の比較を参照してください。

この文脈の "等しい""小さい"、および "大きい"の意味は次のとおりです。
  • 数値タイプ (INTEGER、FLOAT、DECIMAL) の場合、数値が比較されます。したがって、4.2 は 2.4 より大きく、-2.4 は -4.2 より大きくなります。
  • 日/時タイプ (DATE、TIME、TIMESTAMP、GMTTIME、および GMTTIMESTAMP。ただし INTERVAL は含まない) の場合、遅い時点の方が早い時点より大きくなります。したがって、日付 2004-03-31 は日付 1947-10-24 より大きくなります。
  • INTERVAL タイプの場合、長い時間インターバルの方が、短い時間インターバルより大きいと見なされます。

ストリング・タイプ (CHARACTER、BLOB、BIT) の場合、比較は辞書的に行われます。左側から個々のエレメント (個々の文字、バイト、またはビット) の比較が開始されます。違いが検出されない場合は、2 つのストリングは等しくなります。違いが検出された場合は、第 1 オペランド中の最初の違っているエレメントが第 2 オペランドの対応するエレメントより大きい場合には値はより大になり、小さい場合には値はより小になります。2 つのストリングの長さが等しくないが、その長いストリングの一部と短いストリングが等しいという特殊な場合は、長い方のストリングが短いストリングより大きいと見なされます。したがって、次のようになります。

'ABD' は 'ABC' より大きい。
'ABC' は 'AB' より大きい。
文字比較では、末尾ブランクは無視できると見なされます。したがって、2 つのストリングが本当に等しいか確認する場合は、ストリング自体とそれらの長さの両方を比較する必要があります。以下に例を示します。
'ABC  ' は 'ABC' と等しい

長さが 1 のストリングの比較は、個々の文字、バイト、またはビットの比較と同等であることに注意してください。ESQL には単一の文字、バイト、またはビットのデータ・タイプはないので、長さが 1 のストリングを使用して単一の文字、バイト、またはビットを比較するのが標準的な方法です。

関連概念
メッセージ・フローの概要
メッセージ・マッピングの概要
関連タスク
メッセージ・フローの作成
ESQL の開発
関連資料
ESQL の複雑な比較演算子
組み込みノード
ESQL 参照
ROW および LIST の比較
暗黙のキャスト
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak01040_