mysql ワイルドカード (sql 高度なフィルタリング)

mysql ワイルドカード (sql 高度なフィルタリング)

まず、値の一部と一致させるために使用される特殊文字であるワイルドカードについて簡単に紹介します。

search patternリテラル値、ワイルドカード文字、またはその両方の組み合わせで構成される検索条件。

ワイルドカードは演算子を補足するものです。演算子は確定しますが、ワイルドカードはあいまいです。

以下にいくつか例を挙げます。

% ワイルドカード:

製品から*を選択
WHERE products.prod_name LIKE 'jet%'


この % は、先行する文字が任意の回数出現することを意味します。

この例では、検索式'jet%'を使用します。この句を実行すると、 jetで始まるすべての単語が検索されます。 % 、文字数に関係なく、jet の後の任意の文字を受け入れるようにMySQL指示します。

大文字と小文字の区別MySQLの設定によっては、検索で大文字と小文字が区別される場合があります。大文字と小文字を区別すると、 'jet%' JetPack 1000と一致しなくなります。

別のアカウントの例を見てみましょう。

製品から*を選択
products.prod_name が '%anvil%' のように指定されているかどうか


上記は、文字anvilを含むすべてのprod nameが一致することを意味します。

もう一度、別の例を挙げます。

製品から*を選択
WHERE products.prod_name LIKE 's%e'


つまり、s で始まり e で終わるすべてのprod nameが一致することになります。

% 1 つ以上の文字に加えて 0 個の文字に一致する可能性があることに注意することが重要です。 %
検索パターン内の特定の位置にある 0、1、またはそれ以上の文字を表します。

注意 末尾のスペース 末尾のスペースはワイルドカードの一致を妨げる可能性があります。例えば、保存ワード
anvil場合、その後に1つ以上のスペースが続くと、 WHERE
prod_name LIKE '%anvil'末尾に l があるため一致しません。
の後に余分な文字があります。この問題を解決する簡単な方法は、検索パターンの末尾に % を追加することです。

注: NULL % ワイルドカード文字は何にでも一致するように見えますが、例外が 1 つあります。それはNULLです。 WHERE prod_name LIKE '% ' でも、製品名として値NULL使用する行には一致しません。

もう一つの便利なワイルドカード文字はアンダースコア(_)です。アンダースコア文字は % と同じ目的を持ちますが、複数の文字ではなく 1 つの文字に一致します。

製品から*を選択
WHERE products.prod_name LIKE '_ ton anvil'

上記の_は任意の文字を表します。

0文字に一致する%とは異なり、 _常に 1 文字に一致し、それ以上でもそれ以下でもありません。

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

ワイルドカードを過度に使用しないでください。他の演算子で同じ目的を達成できる場合は、他の演算子を使用する必要があります。

ワイルドカードを使用する必要がある場合は、絶対に必要な場合を除き、検索パターンの先頭で使用しないでください。検索パターンの先頭にワイルドカードを配置すると、検索速度は最も遅くなります。

これで、MySQL ワイルドカード (SQL 高度なフィルタリング) に関するこの記事は終了です。MySQL ワイルドカードに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL ファジークエリの使用法 (通常、ワイルドカード、組み込み関数)
  • MySQL データベースのステートメント ワイルドカード ファジー クエリの概要
  • Mysql | ワイルドカード(%、_ など)を使用したファジークエリの詳細な説明
  • MySQL でのワイルドカードを使用したファジークエリの実装に関する簡単な説明
  • MySQL ファジークエリにおけるワイルドカードエスケープについての簡単な説明
  • MYSQL 必読ノート 第 8 章: フィルタリングにワイルドカードを使用する
  • MySQLでワイルドカードを使用する際の注意点
  • MySql のファジークエリワイルドカードの使用に関する詳細な紹介
  • mysql 正規表現 LIKE ワイルドカード

<<:  canvas.toDataURL image/png エラー処理方法の推奨

>>:  IE6/7 は混乱するだろう: 空のテキスト ノードの高さの問題

推薦する

Docker+daocloudはフロントエンドプロジェクトの自動構築とデプロイを実現します

自動プロジェクト展開は大企業やユニコーン企業でよく使用され、手動でプロジェクトを展開するよりも効率的...

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決めabsolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に...

Vue3 の組み合わせ API における setup、ref、reactive の完全な使用方法

1. セットアップを始める次のコード関数を簡単に紹介します。 ref 関数を使用して変数の変更を監視...

MySQLでのカスタムパラメータの使用に関する詳細な説明

MySQL 変数には、システム変数とシステム変数が含まれます。今回の学習課題はユーザー定義変数です。...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

calc() で全画面背景の固定幅コンテンツを実現

ここ数年、Web デザインには「全幅背景と固定幅コンテンツ」というトレンドが生まれています。このデザ...

MySQL 5.7.21 解凍バージョンのインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.21の解凍版をダウンロードしてインストールする詳細な手順を記録して...

MySQL 結合クエリの原則の知識ポイント

MySQL 結合クエリ1. 基本概念2 つのテーブルの各行をペアで水平に接続して、すべての行の結果を...

マージンのマージの問題を解決する

1. 兄弟要素の余白を結合する効果は次のようになります: (2 つの間の間隔は 150 ピクセルでは...

Vueはツリーテーブルを実装する

この記事では、ツリーテーブルを実装するためのVueの具体的なコードを例として紹介します。具体的な内容...

nginx proxy_cache バッチキャッシュクリアスクリプトの紹介

前書き: 以前、公式の nginx proxy_cache を CDN 静的キャッシュとして使用して...

JavaScript で Priority Queue を実装する

目次1. 優先キューの紹介2. 優先キューのカプセル化1. 優先キューの紹介通常のキューに要素が挿入...

TomcatはLog4jを使用してcatalina.outログを出力します。

Tomcat のデフォルトのログは java.util.logging を使用しますが、これにはい...

HTML テーブル マークアップ チュートリアル (15): テーブル タイトル

<br />このタグを使用すると、表のタイトルを直接追加し、タイトル テキストの配置プロ...

docker によってプルされたイメージがどこに保存されるかの詳細な説明

20200804追記:記事の内容に誤りがある可能性があります。他の回答を検索することもできます。 d...