mysqlのファジークエリの4つの使い方の紹介
この記事では主にMySQLのファジークエリの4つの使い方を紹介しますので、必要な方は参考にしてください。
以下では、mysql でのファジー クエリの 4 つの使用法を紹介します:
1 %:
は 0 個以上の任意の文字を表します。任意のタイプおよび長さの文字に一致します。場合によっては、中国語の場合は 2 つのパーセント記号 (%%) を使用して表現してください。
たとえば、 SELECT * FROM [user] WHERE u_name LIKE '%三%'
は、u_name を「Zhang San」、「Zhang Cat San」、「Three-legged Cat」、「Tang Sanzang」などとして扱います。 「3つ」あります すべてのレコードを見つけてください。
さらに、u_name に「三」と「猫」の両方を含むレコードを検索する必要がある場合は、and 条件を使用してください
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
SELECT * FROM [user] WHERE u_name LIKE '%三%cat%' を使用する場合
「三本足の猫」は検索できますが、条件に合う「張猫さん」は検索できません。
2_:
は任意の 1 文字を表します。単一の任意の文字と一致します。これは、式の文字長を制限するためによく使用されます。
たとえば、 SELECT * FROM [user] WHERE u_name LIKE '_三_'
u_name が 3 になるように、「Tang Sanzang」のみを検索します。 1 つの単語は「三」です
別の例は、名前に 3 文字が含まれるように「three-legged cat」のみを検索します。最初の文字は "三" ";
3 [ ]:
は括弧内にリストされた文字の 1 つを表します (正規表現と同様)。文字、文字列、または範囲を指定し、一致するオブジェクトがそれらのいずれかであることを要求します。
たとえば、 SELECT * FROM [user] WHERE u_name LIKE '[Zhang Li Wang] San' では、(「Zhang Li Wang San」ではなく) 「Zhang San」、「Li San」、「Wang San」が検索されます。
[ ] に一連の文字 (01234、abcde など) が含まれる場合、「0-4」、「a-e」と省略できますSELECT * FROM [user] WHERE u_name LIKE '老[1-9]' 将找出“老1”、“老2”、……、“老9”;4 [^ ] :
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 将排除“老1”到“老4”,寻找“老5”、“老6”、……
function sqlencode(str) str=replace(str,"';","';';")str=replace(str,"[","[[]") ';この文は最初に来る必要があります str=replace(str,"_","[_] ") str=replace(str,"%","[%]") sqlencode=str end function