MySQL で '%' を含むフィールドをクエリする方法の詳細な説明 (ESCAPE の使用法)

MySQL で '%' を含むフィールドをクエリする方法の詳細な説明 (ESCAPE の使用法)

SQLのlike文では、例えば

SELECT * FROM user WHERE username LIKE '%luchi%'
SELECT * FROM user WHERE username LIKE '_luchi_',
  • %ワイルドカードとして複数一致させる
  • _ をワイルドカードとして

しかし、like でクエリするフィールドに % が含まれている場合は、どのように確認すればよいでしょうか。

このとき、フィールド内の「%」がワイルドカードとして使用されていないことを指定する必要があります。
ここではESCAPEエスケープを使用する必要があります

テスト:

ここではこの表を使用します

lc

脱出する前に:

SELECT * FROM user WHERE username LIKE '%%%'; 


ここでは、3 つの % 記号がすべてワイルドカードとして扱われていることがわかります。

脱出後:

SELECT * FROM user WHERE username LIKE '%1%%' ESCAPE '1'; 


クエリが成功しました

注記:

  • ESCAPE の後に文字が続き、その中に書かれているのがエスケープ文字です。
  • 次に、C 言語のエスケープ文字 ('\n'、'\t' など) と同様に、エスケープする必要がある % 記号の前にこの文字を記述します。

ヒントと提案:

MySQL ワイルドカードは非常に便利です。ただし、この機能にはコストがかかります。ワイルドカード検索は通常、前述の他の検索よりも処理に時間がかかります。ワイルドカードを使用する際に覚えておくべきヒントをいくつか紹介します。

  • ワイルドカードを過度に使用しないでください。他の演算子で同じ目的を達成できる場合は、他の演算子を使用する必要があります。
  • ワイルドカードを使用する必要がある場合は、絶対に必要な場合を除き、検索パターンの先頭で使用しないでください。検索パターンの先頭にワイルドカードを配置すると、検索速度は最も遅くなります。
  • ワイルドカード文字の配置に注意してください。間違った場所に配置すると、期待した数値が返されない可能性があります。

これで、MySQL のようなクエリを使用して '%' を含むフィールドをクエリする方法 (ESCAPE の使用法) に関するこの記事は終了です。MySQL のようなクエリ % の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL における ESCAPE キーワードの使用法の詳細な説明
  • mysql_escape_string() 関数の使用法の分析
  • MySqlエスケープの詳細な使用例

<<:  ブラインドの特殊効果を実現するネイティブJS

>>:  Nginx SSL証明書設定エラーの解決策

推薦する

HTML2 キャンバス SVG が認識されない場合の解決策

ウェブページを画像としてキャプチャする新機能があったので、人気のhtml2canvasを使ってみまし...

HTMLで境界線を設定する3つの方法の詳細な説明

HTML で境界線を設定する 3 つの方法 境界線の幅: 1px 2px 2px; 境界線のスタイル...

MySQLクエリ速度が遅く、パフォーマンスが低下する原因と解決策

1. データベースクエリの速度に影響を与えるものは何ですか? 1.1 データベースクエリ速度に影響を...

Kafka の Docker デプロイメントと Spring Kafka 実装

この記事は主にDockerによるKafkaのデプロイとSpring Kafkaの実装について紹介しま...

マークアップ言語 - 印刷スタイルシート

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CSSスクロールバーのスタイルをカスタマイズする方法の詳細な説明

この記事では、CSS スクロールバー セレクターを紹介し、Webkit ブラウザーと IE ブラウザ...

Docker 経由で Redis 6.x クラスターをデプロイする方法

システム環境: Redis バージョン: 6.0.8 Docker バージョン: 19.03.12シ...

フラットスタイルを使用してウェブサイトをデザインする方法

フラットなウェブサイト構造の本質はシンプルさです。コンテンツの重要なポイントを強調し、ページの装飾効...

MySQL マルチバージョン同時実行制御 MVCC の実装

トランザクション分離レベルの設定 グローバルトランザクション分離レベルを読み取りコミット済みに設定;...

JavaScript のマクロタスクとマイクロタスクの詳細

目次1. マイクロタスクとは何ですか? 2. マクロタスクとは何ですか? 3. 事例3.1 結論4....

ウェブデザイナーのウェブデザイン学習経験とスキルのまとめ

会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...

Vueは右上隅の時間表示のリアルタイム更新を実装します

この記事の例では、右上隅の時間表示のリアルタイム更新を実現するためのVueの具体的なコードを紹介しま...

雨滴効果を実現する JavaScript キャンバス

この記事では、雨滴効果を実現するためのJavaScriptキャンバスの具体的なコードを参考までに紹介...

vue.config.js からプロジェクト最適化までの vue2.x 構成

目次序文vue.config.js 構成オプションパッケージサイズを縮小するためのパッケージの最適化...