論理式の中で、テキスト式を別の (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 内の文字は、すべてリテラルであり、ストリング式 内の単一の文字と比較されます。
// 変数 myVar01 はストリング式である // その内容が like 基準と比較される myVar01 = "ab%def"; // 次の論理式は「真」へと評価される if (myVar01 like "ab¥¥%def") ; end // 次の論理式は「真」へと評価される if (myVar01 like "ab+%def" escape "+") ; end
関連する参照項目
EGL ステートメント
論理式
テキスト式