MATCH 演算子

構文

string MATCH[ES] pattern

説明

MATCH 演算子または同じ機能の MATCHES は、ストリング式とパターンを比較します。

pattern は、string のフォーマットの一般的な記述です。 これは、テキスト、特殊文字 X、A、および N (これらの特殊文字の前に反復係数として使用される整数が付く) で構成できます。例えば、nN は n 個の数字のストリング・パターンです。

次の表に、pattern コードとその定義を示します。

表 1. パターン照合コード
パターン 定義
... 任意の数の任意の文字 (なしも含む)
0X 任意の数の任意の文字 (なしも含む)
nX n 個の任意の文字
0A 任意のアルファベット文字 (なしも含む)
nA n 個の英字
0N 任意の数の数字 (なしも含む)
nN n 個の数字
'テキスト ' 正確なテキスト。任意のリテラル・ストリング (引用符が必須)
"テキスト " 正確なテキスト。任意のリテラル・ストリング (引用符が必須)

n が 9 桁より大きい場合は、特殊文字の反復係数ではなくパターンのテキストとして使用されます。 例えば、パターン「1234567890N」は、1,234,567,890 という数字のパターンとしてではなく、リテラル・ストリングとして扱われます。

評価されるストリングがパターンと一致すると式は真 (1) として評価され、それ以外は偽 (0) として評価されます。 string または pattern が NULL 値なら、照合は偽として評価されます。

pattern の直前に置かれたティルド (~) は、照合の否定を指定します。 つまり、式または式の一部とは一致しないパターンまたはパターンの一部を指定します。 この照合は、stringpattern が同じ長さで少なくとも 1 つの文字が異なる場合だけ真となります。 否定照合パターン例を次に示します。

"'A'~'X'5N

このパターンで真の値が返るのは、式が文字の A で始まり、そのあとは文字の X ではなく、そのあとに任意の 5 個の数字が続く場合です。 したがって、AB55555 はパターンに合いますが、AX55555、A55555, AX5555、および A5555 は合いません。

複数のパターンは、値マーク (ASCII CHAR(253)) で区切って指定できます。 次の式は、アドレスが 16 個のアルファベット文字であるか 4 個の数字とそのあとに続く 12 個のアルファベット文字の場合は真で、それ以外は偽です。

ADDRESS MATCHES "16A": CHAR(253): "4N12A"

空白ストリングは、以下のパターンに一致します。"0A"、"0X"、"0N"、"..."、""、''、または ¥¥。

NLS が有効なら、MATCH 演算子は NLS.LC.CTYPE ファイルで指定されるアルファベットと数字の現在の値を使用します。