Einführung in die vier Verwendungsmöglichkeiten von Fuzzy-Abfragen in MySQL
In diesem Artikel werden hauptsächlich die vier Verwendungsmöglichkeiten von Fuzzy-Abfragen in MySQL vorgestellt. Freunde in Not können sich darauf beziehen.
Im Folgenden werden vier Verwendungsmöglichkeiten von Fuzzy-Abfragen in MySQL vorgestellt:
1 %:
steht für beliebige 0 oder mehr Zeichen. Kann mit Zeichen jeder Art und Länge übereinstimmen. Wenn es sich um Chinesisch handelt, verwenden Sie bitte zwei Prozentzeichen (%%), um es auszudrücken.
Beispiel: SELECT * FROM [user] WHERE u_name LIKE '%三%'
behandelt u_name als „Zhang San“, „Zhang Cat San“, „Three-legged Cat“ , „Tang Tripitaka“ usw. finden Sie alle Datensätze mit „drei“.
Wenn Sie außerdem Datensätze mit „三“ und „cat“ in u_name suchen müssen, verwenden Sie bitte die Bedingung „and“
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
Wenn Sie SELECT * FROM [Benutzer] verwenden WHERE u_name LIKE '%三%cat%'
Obwohl nach „dreibeiniger Katze“ gesucht werden kann, kann nach „Zhang Cat San“, das die Bedingungen erfüllt, nicht gesucht werden.
2 _:
steht für ein beliebiges einzelnes Zeichen. Entspricht einem einzelnen beliebigen Zeichen, das oft verwendet wird, um die Zeichenlänge von Ausdrücken zu begrenzen:
Zum Beispiel: SELECT * FROM [user] WHERE u_name LIKE '_三_'
Nur finden „ Tang Sanzang“ Auf diese Weise hat u_name drei Zeichen und das mittlere Zeichen ist „三“;
Ein weiteres Beispiel ist SELECT * FROM [user] WHERE u_name LIKE '三__'; Finden Sie nur „三级“. Katze hat einen Namen mit drei Zeichen und das erste Zeichen ist „三“;
3 [ ]:
steht für eines der in Klammern aufgeführten Zeichen (ähnlich wie ein regulärer Ausdruck). Geben Sie ein Zeichen, eine Zeichenfolge oder einen Bereich an und verlangen Sie, dass das übereinstimmende Objekt eines davon ist.
Beispiel: SELECT * FROM [user] WHERE u_name LIKE '[Zhang Li Wang] San' findet „Zhang San“, „Li San“, „Wang San“ (anstelle von „Zhang Li Wang San“) " );
Wenn [ ] eine Reihe von Zeichen enthält (01234, abcde usw.), kann es als „0-4“, „a-e“ abgekürzt werden
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]' 将找出“老1”、“老2”、……、“老9”;
4 [^ ] :
steht für ein einzelnes Zeichen, das nicht in Klammern aufgeführt ist. Sein Wert ist derselbe wie [], es ist jedoch erforderlich, dass das übereinstimmende Objekt ein anderes Zeichen als das angegebene Zeichen ist.
Beispiel: SELECT * FROM [user] WHERE u_name LIKE '[^Zhang Li Wang] San' findet „Zhao San“ und „Sun San“, deren Nachnamen nicht „Zhang“, „Li“ und sind „Wang“ „ usw.;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 将排除“老1”到“老4”,寻找“老5”、“老6”、……
5 Wenn der Abfrageinhalt Platzhalter enthält
Aufgrund von Platzhaltern fragen wir die Sonderzeichen „%“ ab und „_“, „[“-Anweisungen können nicht normal implementiert werden, Sonderzeichen können jedoch normal abgefragt werden, wenn sie in „[ ]“ eingeschlossen sind. Darauf aufbauend schreiben wir die folgende Funktion:
function sqlencode(str) str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';Dieser Satz muss zuerst kommen str=replace(str,"_ ","[_]") str=replace(str,"%","[%]") sqlencode=str end function
Das Obige sind die vier Schritte von MySQL Advanced (6) Fuzzy-Abfrage Einführung in den Inhalt der Verwendung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!