1. ホーム
  2. データベース
  3. エスキューエルライト

ESCAPE を使用して SQL でエスケープを定義する

2022-01-09 13:29:23

ESCAPE を使ったエスケープの定義

     ファジー・クエリでLIKEキーワードを使用する場合、"%", "_", "[]" は単独で出現するとワイルドカードとみなされます。文字データ型の列にパーセント(%)、アンダースコア(_)、角括弧([])があるかどうかを問い合わせるには、LIKE式でこれらの文字をワイルドカードではなく実際の値として扱うようにDBMSに指示する方法が必要です。ESCAPE キーワードを使用すると、エスケープ文字を識別して、エスケープ文字の直後にある文字を実際の値として扱うように DBMS に指示することができます。以下の式のように。

like '%m%' エスケープ 'm'

ESCAPEキーワードはエスケープ文字"M"を定義し、検索文字列"%M%"の2番目のパーセント(%)をワイルドカードではなく実際の値として扱うようにDBMSに指示するものである。もちろん、最初のパーセンタイル(%)は依然としてワイルドカードとして扱われるため、この問い合わせを満たす文字列はすべて%で終わる文字列となります。
同様に、次のような表現もあります。

LIKE 'AB&_%' ESCAPE '&' です。

この場合、エスケープ文字 "&" が定義され、検索文字列中の "&" の直後の文字、つまり "_" は、ワイルドカードではなく実際の文字値として扱われることになるのです。式中の "%"は、依然としてワイルドカード文字として扱われます。この式のクエリ条件は、"AB_" で始まるすべての文字列です。

このサイトがお役に立てれば幸いです。