2つのオプションがあります:
-
それらを
[
で囲みます および]
。だから:where pattern like '[%]'
パーセント文字を検索します。エスケープする文字の完全なリスト-
'_', '%', '[', ']'
対応する置換を含む'[_]', '[%]', '[[]', '[]]'
。サンプルコードは、エスケープ文字のエスケープが機能しない–SQLLIKE演算子 -
バッククォートなど、文字列に含まれる可能性が低いエスケープ文字を使用します:
where pattern like '`%' escape '`'
(MSDNの構文を参照してください- LIKE(Transact-SQL) 。)
どちらの場合も、アプリケーション層で置換を行うことをお勧めしますが、本当に必要な場合はSQLで置換することもできます。
where pattern like replace(@pattern, '%', '[%]')
また、エンドユーザーにワイルドカードへのアクセスを許可することは、ユーザーインターフェイスの観点からは良いことかもしれません。
注:さらにいくつかの特殊文字があります'-'
および'^'
LIKEクエリでは、ただし、すでに'['
をエスケープしている場合は、エスケープする必要はありません。 および']'
。