ホームページ > データベース > mysql チュートリアル > MySQL LIKE クエリでアンダースコアをエスケープするにはどうすればよいですか?

MySQL LIKE クエリでアンダースコアをエスケープするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-20 19:47:09
オリジナル
368 人が閲覧しました

How to Escape Underscores in MySQL LIKE Queries?

アンダースコアを使用した MySQL LIKE クエリ

SQL では、LIKE 演算子を使用して文字列内のパターンを検索できます。ただし、アンダースコア (_) を使用して LIKE を使用する場合は、特別な考慮が必要です。

問題

LIKE を使用してアンダースコアを含む文字列を検索する場合、アンダースコアはワイルドカードとして扱われます。これは、次のクエリ:

SELECT id FROM images WHERE img_path LIKE 'abc_%'
ログイン後にコピー

は、'images' テーブル内の 'img_path' 列が "abc" で始まるすべての行を返します (アンダースコアのある行 (例: "abcde_1.jpg") を含む) を意味します。 ).

解決策

特殊文字をエスケープし、LIKE 演算子が「abc_」で始まる文字列のみに一致するようにするには、バックスラッシュ () でアンダースコアをエスケープする必要があります。正しいクエリは次のとおりです。

SELECT id FROM images WHERE img_path LIKE 'abc\_%'
ログイン後にコピー

説明

アンダースコアをエスケープすることにより、LIKE 演算子はそれをリテラル文字として扱います。これを一致させるには、「img_path」列が「abc_」で始まる必要があります。結果として、行 1 と行 2 のみが返されます。

以上がMySQL LIKE クエリでアンダースコアをエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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