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 は混乱するだろう: 空のテキスト ノードの高さの問題

推薦する

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

div が隠しテキストを超え、div 部分の向こうの CSS コードを隠します

隠れる前に:隠れた後: CS: ...コードをコピーコードは次のとおりです。オーバーフロー:非表示;...

Linuxのwhichコマンドの具体的な使い方

Linux でファイルを見つけたいのに、その場所がわからないことがよくあります。次のコマンドを使用し...

React+TypeScriptプロジェクト構築事例解説

React プロジェクトの構築は非常に簡単ですが、Typescript と組み合わせると、実際にはそ...

MySQLはフィールドからカンマ区切りの値を取り出して新しいフィールドを形成します

1例: 図1のフィールドを図2に分割するには アカウントIDを選択、 サブストリングインデックス(サ...

MySQL学習データベース操作DML初心者向け詳細解説

目次1. ステートメントを挿入する1.1 行を挿入する1.2 複数行を挿入する1.3 クエリステート...

MySQL の文字セット utf8 を utf8mb4 に変更する方法

MySQL 5.5 の場合、文字セットが設定されていない場合、MySQL のデフォルトの文字セットは...

ウェブページ(ウェブサイト)のデザインと制作に関する考えや経験の共有

まずは投稿する前に! 「I Want to Study on My Own!」に改めて感謝します。た...

JavaScript のコールバック関数の理解と使用

目次概要コールバックまたは高階関数とは何ですか?コールバック関数はどのように機能しますか?コールバッ...

固定、流動的、柔軟なウェブページレイアウトの長所と短所の分析

ウェブデザイナーを長い間悩ませてきた疑問があります。それは、固定レイアウト、流動的レイアウト、柔軟レ...

CSS3で蓮の花が咲くアニメーション効果を実現

まずは効果を見てみましょう:この効果は非常に華やかに見えますが、原理は複雑ではありません。1 枚の花...

学生情報管理システムを実装するためのJavaScript+HTML

目次1. はじめに2. レンダリング3. コード4. 学生情報管理システムのメインインターフェース1...

JS関数の呼び出し、適用、バインドの超詳細な方法

目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...

MySQL の NOT IN 充填ピットの NULL 列の問題の解決方法

以前、会社で小さな機能に取り組んでいたとき、特定の状況でデータがいくつあるかを数えてから問題を修正し...

Dockerがプライベート倉庫Harborを構築する手順

港Harborは、エンタープライズレベルのプライベートDockerイメージリポジトリを構築するための...