MySQL ファジークエリステートメントコレクション

MySQL ファジークエリステートメントコレクション

SQL ファジークエリステートメント

一般的なファジーステートメントの構文は次のとおりです。

SELECT フィールド FROM テーブル WHERE フィールド Like 条件

条件に関しては、SQL は次の 4 つの一致モードを提供します。

1. %: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、中国語の場合は 2 つのパーセント記号 (%%) を使用して表します。

SELECT * FROM [user] WHERE u_name LIKE '%三%'

「Zhang San」、「Zhang Mao San」、「Three-legged Cat」、「Tang Sanzang」など、u_name に文字「three」が含まれるすべてのレコードが検索されます。さらに、u_nameに「三」と「猫」の両方を含むレコードを検索する必要がある場合は、and条件を使用します。

SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

使用する場合

SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'

「三脚猫」は検索できますが、条件に合う「张猫三」は検索できません。

2. _: は任意の 1 文字を表します。任意の 1 文字と一致します。これは、式ステートメントの文字の長さを制限するためによく使用されます。

SELECT * FROM [user] WHERE u_name LIKE '_三_'

「唐三藏」と、u_name が 3 文字で、中央の文字が「三」である他の名前のみを検索します。

SELECT * FROM [user] WHERE u_name LIKE '三__';

「三脚猫」のように最初の文字が「三」である 3 文字の名前のみを検索します。

3. [ ]: 括弧内にリストされている文字の 1 つを表します (正規表現と同様)。文字、文字列、または範囲を指定します。一致はそれらのいずれかである必要があります。

SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'

「Zhang San」、「Li San」、「Wang San」が見つかります(「Zhang Li Wang San」は見つかりません)。

[ ] 内に連続した文字がある場合(01234、abcdeなど)は、「0-4」、「ae」のように省略できます。

SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'

「Old 1」、「Old 2」、...、「Old 9」が見つかります。

4. [^ ]: 括弧内にリストされていない単一の文字を表します。その値は [] と同じですが、一致するオブジェクトは指定された文字以外の文字である必要があります。

SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'

「張」「李」「王」という名前ではない「趙三」「孫三」などが見つかります。

SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';

「古い 1」から「古い 4」を除外し、「古い 5」、「古い 6」などを検索します。

5. クエリの内容にワイルドカードが含まれている場合

ワイルドカードのため、特殊文字「%」、「_」、「[」のクエリ ステートメントを正常に実装することはできません。ただし、特殊文字を「[ ]」で囲むことで、正常にクエリを実行できます。これに基づいて、次の関数を記述します。

関数 sqlencode(str)

str=replace(str,"[","[[]") 'この文は先頭になければなりません str=replace(str,"_","[_]")

str=replace(str,"%","[%]")

sqlencode=文字列

終了関数

クエリを実行する前に、検索する文字列をこの関数で処理することができます。

上記はSQLファジークエリ文の詳細な内容です。追加事項がある場合は、123WORDPRESS.COMの編集者までご連絡ください。

以下もご興味があるかもしれません:
  • MySQL でよく使われる SQL 文
  • よく使われるMySqlクエリ文を整理する(23種類)
  • 最も完全なMySQLクエリステートメントコレクション
  • MySQL ステートメントの配置と概要の紹介
  • MySQL DML ステートメントの概要
  • MySQL ステートメントの概要
  • MySQLデータテーブルで使用されるSQL文の配置

<<:  MacOS Catalina アップグレード後の VMware ブラック スクリーン問題に対する完璧な解決策の詳細な説明

>>:  Nodeイベントループの包括的な理解

推薦する

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...

SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

それは何ですか? Spring Boot は、Spring オープンソース組織のサブプロジェクトであ...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

MySQL データ型の詳細

目次1. 数値型1.1 数値型の分類1.1.1 浮動小数点数1.1.2 ビットタイプ1.1.3 時間...

Linux CentOS でスケジュールされたバックアップ タスクを設定する方法

実装準備 # ファイルパスをバックアップする必要があります: /opt/apollo/logs/ac...

MySQLインデックスを追加する3つの原則を簡単に理解する

1. インデックスの重要性インデックスは、列に特定の値を持つ行をすばやく見つけるために使用されます。...

nginx + fastcgi を使用して画像認識サーバーを実装する

背景ディープラーニング モデルの推論には、特定のデバイスが使用されます。マシンは、モデルの読み込み、...

CSS で 2 つの固定列と 1 つの適応列を実装するいくつかの方法

この記事では、CSS で 2 つの固定列と 1 つのアダプティブ列を実装するいくつかの方法を紹介し、...

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...

nginx のロケーションと書き換えの使用法の詳細な説明

1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

Firefox ブラウザでバックグラウンド ミュージックを再生するための究極のソリューション (Chrome マルチブラウザ対応)

FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...

よく使われるCSSスタイル(レイアウト)の詳しい説明

新しいCSS3プロパティと互換性ありCSS3では、プラグインprefixfree.min.jsを使用...

JavaScript における Promise の詳細な説明

目次Promise の基本的な使用法: 1. Promiseオブジェクトを作成する2. プロミス方式...