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イベントループの包括的な理解

推薦する

sshとは何ですか?使い方は?どのような誤解があるのでしょうか?

目次序文SSHとは何かssh は何に使用されますか? sshの使い方ssh 再修正要約する序文ssh...

Vueは携帯電話のカメラとアルバムを呼び出す機能を実装します

この記事では、携帯電話のカメラとアルバムにアクセスするためのVueの具体的なコードを参考までに共有し...

HTML メタタグの一般的な使用例のコレクション

マタタグとは<meta> 要素は、検索エンジン向けの説明やキーワード、更新頻度など、ペー...

MySQL 数千万のビッグデータに対するSQLクエリ最適化の知識ポイントのまとめ

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

JavaScript スクリプトが実行されるタイミングの詳細な説明

JavaScript スクリプトは HTML 内のどこにでも埋め込むことができますが、いつ呼び出され...

MySQL の時間差関数 TIMESTAMPDIFF と DATEDIFF の使用

時間差関数 TIMESTAMPDIFF と DATEDIFF の使用SQL ステートメント、特にスト...

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央公開コード: html: <div class="parent&quo...

Mybatis ファジークエリ実装方法

Mybatis ファジークエリ実装方法mybatis のリバース アシスタントは非常に使いやすく、通...

MySQLの使い方の詳細な説明

目次1. はじめに2. 本文2.1 Where句の位置2.2 演算子2.3 NULL値1. はじめに...

nginx-naxsi ホワイトリストルールの詳細な説明

ホワイトリストルールの構文:基本ルール wl:ID [否定] [mz:[$URL:target_ur...

HTMLで特殊記号を表示する(特殊文字対応表付き)

問題の再現HTML を使用して編集する場合、特殊記号によってエラーが表示されることが多く、極端な場合...

MySQLの主キーとユニークキーの重複挿入の解決策の詳細な説明

目次解決: 1. 無視する2. 交換する3. 重複キーの更新についてデータを挿入するときに、重複した...

Ubuntu 18.04 で中国語入力方法を設定する方法

Ubuntuの最新バージョンでは、ユーザーは中国語入力方法を別途ダウンロードする必要がなくなりました...

ベスト HTML/CSS デザインおよび開発フレームワーク 15 選を紹介します

プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...

MySQLクエリのパフォーマンスに影響を与える大きなオフセットの理由と最適化の詳細な説明

序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...