like 演算子

論理式の中で、テキスト式を別の (like 基準 と呼ばれる) ストリングと、文字位置ごとに左から右へ比較することができます。この機能の用途は、SQL 照会における SQL キーワード like の用途によく似ています。

以下に例を示します。

  // 変数 myVar01 はストリング式である
  // その内容が like 基準と比較される
  myVar01 = "abcdef";

  // 次の論理式は「真」へと評価される
  if (myVar01 like "a_c%")
    ;
  end

like 基準は、リテラル、CHAR 型または MBCHAR 型の項目、UNICODE 型の項目のいずれかにすることができます。 like 基準の中には、以下の文字を組み込むことができます。

%
ワイルドカードとして機能し、ストリング式内のゼロ個以上の任意の文字に一致します。
_ (アンダースコアー)
ワイルドカードとして機能し、ストリング式内の単一の文字に一致します。
\
次の文字をストリング式内の単一の文字と比較するよう指示します。円記号 (¥) は、通常の処理から外れるので、エスケープ文字 と呼ばれます。このエスケープ文字はストリング式内の任意の文字とも比較されません。

通常、このエスケープ文字は、% 記号、アンダースコアー (_)、またはもう 1 つの円記号の前に置かれます。

円記号を (デフォルトの振る舞いどおりに) エスケープ文字として使用した場合、EGL は同じエスケープ文字を使用して任意のテキスト式内への引用符の組み込みを許可するので、問題が起きます。 like 基準の内容においては、2 つの円記号を指定する必要があります。実行時に使用可能なテキストは、最初の円記号を除いたテキストだからです。

この問題を回避することをお勧めします。後で例を示すように、escape 文節を使用することにより、別の文字をエスケープ文字として指定してください。 ただし、二重引用符 (") をエスケープ文字として使用することはできません。

それ以外の likeCriterion 内の文字は、すべてリテラルであり、ストリング式 内の単一の文字と比較されます。

次の例は、escape 文節の使用方法を示しています。
  // 変数 myVar01 はストリング式である
  // その内容が like 基準と比較される
  myVar01 = "ab%def";

  // 次の論理式は「真」へと評価される
  if (myVar01 like "ab¥¥%def")
    ;
  end

  // 次の論理式は「真」へと評価される
  if (myVar01 like "ab+%def" escape "+")
    ;
  end

関連する参照項目
EGL ステートメント
論理式
テキスト式

ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.