ホームページ >データベース >mysql チュートリアル >MySQL の NO_BACKSLASH_ESCAPES モードで特殊文字をエスケープする方法は?

MySQL の NO_BACKSLASH_ESCAPES モードで特殊文字をエスケープする方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-30 14:37:12227ブラウズ

How to Escape Special Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

NO_BACKSLASH_ESCAPES モードでの特殊文字のエスケープ

MySQL で NO_BACKSLASH_ESCAPES オプションが有効になっている場合、リテラル "%" または " をエスケープする標準的な方法「%」を使用した _" は機能しません。これは、LIKE クエリを実行するときに問題になります。

解決策 1: エスケープ文字を使用する

NO_BACKSLASH_ESCAPES モードでは、エスケープ文字を使用して、" のような特殊文字を保護できます。 %」。エスケープ文字は、LIKE クエリでエスケープ キーワードの後に​​指定します。

例:

select * from mytable
where mycol like '5\% off' escape '\';

このクエリでは、エスケープ文字として「」が使用されているため、「%」はリテラルの "%" 文字。

解決策 2: 別の特殊文字を使用する文字

バックスラッシュをエスケープ文字として使用できない場合は、別の特殊文字を選択して代わりに使用できます。例:

select * from mytable
where mycol like '5|% off' escape '|';

ここでは、「|」はエスケープ文字として使用されるため、「5|% off」はリテラルの「%」文字を含む文字列を表します。

以上がMySQL の NO_BACKSLASH_ESCAPES モードで特殊文字をエスケープする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。