パターン マッチングには、文字列比較を行うためのさまざまな機能が組み込まれています。次の表は、Like 演算子で使用できるワイルドカード文字と、それらに一致する文字または数字を示したものです。
引数 pattern 中の文字 | 引数 expression 中で一致する文字または数字 |
---|---|
? または _ (アンダースコア) | 任意の 1 文字 |
* または % | 0 文字以上の文字列 |
# | 任意の半角の数字 (0 〜 9) |
[charlist] | 引数 charlist に含まれる任意の全角または半角の 1 文字 |
[!charlist] | 引数 charlist に含まれない任意の全角または半角の 1 文字 |
角かっこ ([ ]) で囲まれた 1 文字以上の文字 (引数 charlist) は、引数 expression 中の任意の 1 文字に一致します。角かっこ内では、シフト JIS コードのすべての文字と数字を含む ANSI 文字セットのほとんどの任意の文字を指定できます。特殊文字の開き角かっこ ([)、疑問符 (?)、シャープ記号 (#)、アスタリスク (*) なども直接かっこの中に指定できます。閉じ角かっこ (]) を指定することはできませんが、角かっこの外側で一意の文字として指定することはできます。
さらに、単に文字を角かっこの間に並べるだけでなく、一定範囲の文字を指定するために、ハイフン (-) を範囲の最初の文字と最後の文字の間に置くこともできます。たとえば、引数 pattern に [A-Z] を指定すると、引数 expression 中の対応する位置の文字が A 〜 Z の範囲の大文字である場合に一致します。また、複数の範囲を角かっこ内に指定することもできます。この場合、区切り記号は必要ありません。たとえば、[a-zA-Z0-9] は任意の英数字に一致します。
Microsoft® Jet Version 4.x および Microsoft OLE DB Provider for Jet を使用している場合は、ANSI SQL のワイルドカード文字 (% と _) を使用できます。Microsoft Access や DAO を介して使用する場合は、リテラルとして取り扱われます。
パターン マッチングに関する重要な規則としては、これ以外に次のようなものがあります。
感嘆符 (!) を引数 charlist の前に置くと、引数 expression の中の引数 charlist に含まれない文字に一致します。角かっこの外側に置くと、感嘆符そのものに一致します。
ハイフン (-) は、引数 charlist の先頭 (感嘆符を指定している場合にはその直後) または末尾に記述すると、ハイフンそのものに一致します。それ以外の位置に置かれた場合は、文字の範囲を示します。
文字の範囲は、[A-Z]、[あ-ん]、[0-9] などのように昇順で指定する必要があります。[A-Z] は正しいパターンですが、[Z-A] は正しくありません。
角かっこ ([ ]) の中を省略すると、長さ 0 の文字列 ("") を指定したとみなされます。
Like 演算子 | SQL 式 |