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証明書設定エラーの解決策

推薦する

divコンテナ内の背景色または画像は、サイズが大きくなるにつれて大きくなります。

コードをコピーコードは次のとおりです。高さ:自動 !重要;高さ:550px;最小高さ:550px; ...

MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎

MySQLソフトウェアのインストールとデータベースの基礎は参考用です。具体的な内容は次のとおりです。...

Web デザインのための 5 つのシンプルな XHTML Web フォーム

Web デザイン 5 におけるシンプルな XHTML Web フォーム。 テクニック 1: ラベル ...

Vueはdivホイールのズームインとズームアウトを実装します

Vue プロジェクトで div ホイールのズームインとズームアウト、ドラッグ効果、キャンバス効果に似...

MySQL 5.7.18 でパスワードを変更する方法

MySQL 5.7.18 でパスワードを変更する方法: 1. まずMySQLサーバーをシャットダウン...

ZFS とは何か? ZFS を使用する理由とその機能

ZFSの歴史Z ファイル システム (ZFS) は、2001 年に Matthew Ahrens と...

Reactフック入門チュートリアル

ステートフック例: 'react' から useState をインポートします。 関...

面白いウェブサイトをデザインするための方法とテクニック(写真)

他の人から「つまらない」とか「時代遅れ」というフィードバックを受けて、それを変更しようとしたのに、更...

jsは双方向データバインディング(アクセサ監視)を実現します

この記事の例では、双方向データバインディングを実現するためのjsの具体的なコードを参考までに共有して...

MySQLとOracleのメタデータ抽出例分析

目次序文メタデータとは参照文書アドレスまずはMySQLについてお話しましょうOracleについて話し...

CSS3.0 でネオンボタンアニメーション効果を実装するためのサンプルコード

今日は、CSS 3.0 で実装されたネオン ボタン アニメーション効果を紹介します。効果は次のとおり...

Linux における $ 記号の基本的な使い方のまとめ

Linuxバージョン: CentOS 7 [root@azfdbdfsdf230lqdg1ba91 ...

MySQL で最大接続数を設定するためのヒントのまとめ

方法1: コマンドラインの変更次の図に示すように、MySQL コンソールを開いて「set GLOBA...

JavaScript は setTimeout を使用してカウントダウン効果を実現します

JavaScript ネイティブ コードの記述能力を高め、setTimeout() の使用を強化する...

Linux で so または実行可能プログラムの依存ライブラリを表示します

Linux で実行可能プログラムまたは so の依存ライブラリを表示します。 Linux の実行可能...