LIKE 述語のエスケープ文字

LIKE 述語では、パーセント記号 (%) は任意の文字の 0 個以上に一致し、アンダースコア (_) は任意の 1 文字に一致します。 LIKE 述語の実際のパーセント記号またはアンダースコアと一致させるには、パーセント記号またはアンダースコアの前にエスケープ文字を指定する必要があります。 LIKE 述語エスケープ文字を定義するエスケープ シーケンスは次のとおりです。

{escape 'escape-character'}

エスケープ文字は、データ ソースでサポートされている任意の文字です。

LIKE エスケープ シーケンスの詳細については、「付録 C: SQL文法」の LIKE エスケープ シーケンスを参照してください。

たとえば、次のSQLステートメントでは、文字 "%AAA" で始まる顧客名の同じ結果セットが作成されます。 最初のステートメントでは、エスケープ シーケンス構文を使用します。 2 番目のステートメントでは、Microsoft® Access のネイティブ構文が使用されており、相互運用できません。 各 LIKE 述語の 2 番目のパーセント文字は、任意の文字の 0 個以上に一致するワイルドカード文字であることに注意してください。

SELECT Name FROM Customers WHERE Name LIKE '\%AAA%' {escape '\'}  
  
SELECT Name FROM Customers WHERE Name LIKE '[%]AAA%'  

LIKE 述語エスケープ文字がデータ ソースでサポートされているかどうかを判断するために、アプリケーションは、SQL_LIKE_ESCAPE_CLAUSE オプションを使用して SQLGetInfo を呼び出します。