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

MySQL の NO_BACKSLASH_ESCAPES モードでパーセント文字とアンダースコア文字をエスケープする方法は?

Mary-Kate Olsen
リリース: 2024-12-01 00:08:11
オリジナル
878 人が閲覧しました

How to Escape Percent and Underscore Characters in MySQL's NO_BACKSLASH_ESCAPES Mode?

NO_BACKSLASH_ESCAPES モードを使用した MySQL でのリテラル パーセントとアンダースコア文字のエスケープ

MySQL が NO_BACKSLASH_ESCAPES モードで実行されている場合、リテラル パーセントをエスケープする標準的な方法バックスラッシュを使用した (%) およびアンダースコア (_) 文字() 文字は適用されません。この記事では、特にこのモードでこれらの文字をエスケープする別の方法を説明します。

問題

次の例を考えてみましょう: MySQL テーブルの列には、「5」のような値が含まれています。 %オフ」と「50%オフ」。標準のバックスラッシュ エスケープ文字を使用する次の LIKE クエリは、NO_BACKSLASH_ESCAPES モードでは機能しません:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off'
ログイン後にコピー

Solution

NO_BACKSLASH_ESCAPES モードでは、パーセントをエスケープできます。およびアンダースコア文字は別のエスケープ シーケンスを使用します。 1 つのオプションは、エスケープ キーワードの前にバックスラッシュ文字を使用することです。例:

SELECT * FROM mytable
WHERE mycol LIKE '5\% off' ESCAPE '\'
ログイン後にコピー

代替解決策

または、エスケープにパイプ (|) 文字などの別の文字を使用することもできます。以下のクエリは、NO_BACKSLASH_ESCAPES モードの設定に関係なく機能します。

SELECT * FROM mytable
WHERE mycol LIKE '5|% off' ESCAPE '|'
ログイン後にコピー

これらの手法を使用すると、NO_BACKSLASH_ESCAPES モードの場合でも、MySQL クエリ内のリテラルのパーセント文字とアンダースコア文字を効果的にエスケープできます。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート