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

適用先: Access 2013、Office 2013

パターン マッチングには、文字列比較を行うためのさまざまな機能が組み込まれています。 次の表は、Like 演算子で使用できるワイルドカード文字と、それらに一致する文字または数字を示したものです。

引数 pattern 中の文字

引数 expression 中で一致する文字または数字

? または _ (アンダースコア)

任意の 1 文字

* または %

0 文字以上の文字列

#

任意の半角の数字 (0 ~ 9)

[charlist]

引数 charlist に含まれる任意の全角または半角の 1 文字

[!charlist]

引数 charlist に含まれない任意の全角または半角の 1 文字

角かっこ ([ ]) で囲まれた 1 つ以上の文字 (charlist) のグループを使用して 内の任意の 1 文字と一致させることができます。 また、charlist には、数字を含む ANSI 文字セットのほぼすべての文字を含めることができます。 You can use the special characters opening bracket ([ ), question mark (?), number sign (#), and asterisk (*) to match themselves directly only if enclosed in brackets. You cannot use the closing bracket ( ]) within a group to match itself, but you can use it outside a group as an individual character.

文字リストは、角かっこで囲まれた文字の単純なリストに加えて、ハイフン (-) を使用して範囲の上限と下限を区切ることで、文字範囲を指定できます。 たとえば、 パターン で [A- Z] を使用すると、 内の対応する文字位置に A から Z の範囲の大文字のいずれかが含まれている場合、一致します。範囲を区切らずに、角かっこ内に複数の範囲を含めることができます。 たとえば、[a-zA-Z0-9] は任意の英数字と一致します。

ANSI SQL ワイルドカード (%) と (_) は、Microsoft Jet バージョン 4.X と Microsoft OLE DB Provider for Jet でのみ使用できることに注意してください。 Microsoft Access や DAO を介して使用する場合は、リテラルとして取り扱われます。

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

  • 感嘆符 (!) を引数 charlist の前に置くと、引数 expression の中の引数 charlist に含まれない文字に一致します。 角かっこの外側に置くと、感嘆符そのものに一致します。

  • ハイフン (-) は、引数 charlist の先頭 (感嘆符を指定している場合にはその直後) または末尾に記述すると、ハイフンそのものに一致します。 それ以外の位置に置かれた場合は、文字の範囲を示します。

  • 文字の範囲は、[A-Z]、[あ-ん]、[0-9] などのように昇順で指定する必要があります。 [A-Z] は正しいパターンですが、[Z-A] は正しくありません。

  • 角かっこ ([ ]) の中を省略すると、長さ 0 の文字列 ("") を指定したと見なされます。