ホームページ  >  記事  >  データベース  >  mysqlファジークエリステートメントとは何ですか?

mysqlファジークエリステートメントとは何ですか?

烟雨青岚
烟雨青岚オリジナル
2020-06-16 10:09:265606ブラウズ

mysqlファジークエリステートメントとは何ですか?

mysql ファジー クエリ ステートメントとは何ですか?

ファジークエリステートメントは次のとおりです:「SELECT フィールド FROM テーブル WHERE 特定のフィールド Like 条件」。

mysql は 4 つのマッチング モードを提供します:

1、% は 0 個以上の任意の文字を表します。

次のステートメント:

SELECT * FROM user WHERE name LIKE ';%三%';

は、名前を「Zhang San」、「Sanjiao」とします。 「猫」、「唐の三蔵法師」など。「3」を含むすべての文字を検索します。

2、_ は任意の 1 文字を表します。ステートメント:

SELECT * FROM user WHERE name LIKE ';_三_';

名前が 3 文字で中央の文字が " になるように、「Tang Sanzang」のみを検索します。 Three";

SELECT * FROM user WHERE name LIKE ';三__';

名前が 3 文字で最初の文字が " になるように、「three-legged cat」のみを検索します。 Three";

3、[ ] は括弧内にリストされた文字の 1 つを表します (正規表現と同様)。

ステートメント:

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

は、「Zhang San」、「李王」を検索します。 " "Three", "Wang San" ("Zhang Li Wang San" ではなく);

[ ] に一連の文字 (01234、abcde など) が含まれる場合は、"0" と省略できます。 -4", "a-e"

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

は、「old 1」、「old 2」、...を検索します。 ., "老9";

「-」文字を探している場合は、最初に入力してください: ';Zhang San[-1-9]';

4,[^ ] は、括弧内にリストされていない 1 つの文字 を表します。 ステートメント:

SELECT * FROM user WHERE name LIKE ';[^Zhang Liwang]三';

という姓の人の名前が検索されます。 「Zhang」ではありません。「Zhao San」、「Li」の「Sun San」、「Wang」など;

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

は、「Old 1」から「Old 4」を除外して、「Old 5」、「Old 6」、...、「Old 9」を検索します。

最後がポイントです!

ワイルドカードのため、特殊文字「%」、「_」、「[」、および「';」のクエリ ステートメントは通常は実装できません。特殊文字を「[ ]」で囲むと便利です。 「普通に問い合わせできます。これに基づいて、次の関数を作成します:

function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function

推奨チュートリアル: "

MySQL Tutorial

"

以上がmysqlファジークエリステートメントとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。