ワイルドカードによる文字列の比較

パターン マッチングには、文字列比較を行うためのさまざまな機能が組み込まれています。次の表は、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 を介して使用する場合は、リテラルとして取り扱われます。

パターン マッチングに関する重要な規則としては、これ以外に次のようなものがあります。

参照
Like 演算子 SQL 式