埋め込み文字および文字列内での埋め込み文字の扱い方について、以下の注釈が適用されます。
- 埋め込み文字は、文字式とパターンの両方で意味があります。
- パターンを照合する場合、フィールドまたは式の先頭や末尾の埋め込み文字がパターンと正確に一致しなければなりません。
例えば、‘A%BC’は‘AxxBC’に一致しますが、‘AxxBCΔ’に一致しません。また、‘A%BCΔ’は‘AxxBCΔ’に一致しますが、‘AxxBC’にも‘AxxBCΔΔ’ (Δは埋め込み文字を示します)にも一致しません。
- すべての状況で行を検索するには、TRIM関数の使用を考慮してください。この関数は、パターン照合が行なわれる前に、元の文字列から先頭や末尾の埋め込み文字を取り除きます。
末尾の埋め込み文字を取り除く例を挙げます。
TRIM (TRAILING FROM expression) LIKE pattern-string
先頭と末尾の埋め込み文字を取り除くには、次の文を使用します。
TRIM (BOTH FROM expression) LIKE pattern-string
- pattern_expressionが強制的に固定長に設定されている場合、末尾の埋め込み文字を付加することができます。このような場合、フィールドには照合のために末尾の埋め込み文字が同じ数だけなければなりません。
例えば、次の文は5文字より短いパターンの文字列の末尾に埋め込み文字を付加します。
CREATE MACRO (pattern (CHAR(5)) AS field LIKE :pattern…
- どのように定義されている行でも取り出すためには、TRIM関数をパターンの文字列に適用するか(TRIM(TRAILING FROM :パターン))、またはマクロ パラメータをVARCHARと定義します。
この2つの方法が常に同じ結果を返すとは限りません。TRIMは埋め込み文字を取り除き、一方、VARCHARでは、入力されたとおりの正確なデータ パターンを保持します。