Mysql | Detaillierte Erklärung der Fuzzy-Abfrage mit Platzhaltern (wie, %, _)

Mysql | Detaillierte Erklärung der Fuzzy-Abfrage mit Platzhaltern (wie, %, _)

Wildcard-Kategorien:

%Prozent-Platzhalter: Gibt an, dass jedes Zeichen beliebig oft vorkommen kann (kann 0 Mal vorkommen).

_Unterstrichener Platzhalter: Bedeutet, dass nur ein einziges Zeichen übereinstimmen kann, nicht mehr und nicht weniger, nur ein Zeichen.

Wie Operator:

Die Rolle von LIKE besteht darin, MySQL anzuweisen, dass das nachfolgende Suchmuster zum Vergleich Platzhalter statt direkter Gleichheitsübereinstimmung verwenden soll.

Hinweis: Wenn Sie den „Like“-Operator ohne universellen Matcher verwenden, ist das Ergebnis dasselbe wie =. SELECT * FROM products WHERE products.prod_name like '1000'; kann nur mit dem Ergebnis 1000 übereinstimmen, nicht mit JetPack 1000.

1)% Wildcard-Nutzung:

Stimmt mit Datensätzen überein, die mit „yves“ beginnen: (einschließlich Datensätze „yves“)

SELECT * FROM Produkte WHERE Produkte.Produktname wie "yves%";

Stimmt mit Datensätzen überein, die „yves“ enthalten (einschließlich Datensätze mit „yves“)

SELECT * FROM Produkte WHERE Produkte.Produktname wie '%yves%';

Stimmt mit Datensätzen überein, die mit „yves“ enden (einschließlich Datensätzen „yves“, ausgenommen Datensätze „yves“, d. h. Datensätze mit Leerzeichen nach yves, bitte beachten)

SELECT * FROM Produkte WHERE Produkte.Produktname wie '%yves';

2)_Wildcard-Verwendung:

SELECT * FROM Produkte WHERE Produkte.Produktname wie '_yves';

Das passende Ergebnis sind: Datensätze wie „yyves“.

SELECT * FROM Produkte WHERE Produkte.Produktname wie 'yves__';

Das passende Ergebnis ist: Datensätze wie „yvesHe“. (Ein Unterstrich kann nur mit einem Zeichen übereinstimmen, nicht mehr und nicht weniger)

Notiz:

Achten Sie auf die Groß-/Kleinschreibung. Bei der Verwendung von Fuzzy-Matching, also dem Abgleichen von Text, kann MySQL zwischen Groß- und Kleinschreibung unterscheiden oder nicht. Dieses Ergebnis hängt davon ab, wie der Benutzer MySQL konfiguriert. Wenn zwischen Groß- und Kleinschreibung unterschieden wird, kann ein Datensatz wie YvesHe nicht mit einer Übereinstimmungsbedingung wie „yves__“ übereinstimmen.

Beachten Sie das Leerzeichen am Ende. „%yves“ kann nicht mit einem Datensatz wie „heyves“ übereinstimmen.

Beachten Sie, dass die Platzhalter NULL und % mit jedem beliebigen Zeichen übereinstimmen können, jedoch nicht mit NULL. Das heißt, dass SELECT * FROM products WHERE products.prod_name like '%'; nicht mit Datensätzen übereinstimmt, bei denen products.prod_name NULL ist.

Tipps und Vorschläge:

Wie Sie sehen, sind MySQL-Platzhalter sehr nützlich. Diese Funktionalität hat jedoch ihren Preis: Die Verarbeitung von Platzhaltersuchen dauert im Allgemeinen länger als die anderen zuvor besprochenen Suchvorgänge. Hier sind einige Tipps, die Sie bei der Verwendung von Platzhaltern beachten sollten.

Verwenden Sie Platzhalter nicht zu häufig. Wenn andere Operatoren denselben Zweck erreichen können, sollten Sie andere Operatoren verwenden.

Wenn Sie Platzhalter verwenden müssen, verwenden Sie diese nicht am Anfang eines Suchmusters, es sei denn, dies ist unbedingt erforderlich. Die langsamste Suche erfolgt durch Platzieren des Platzhalters am Anfang des Suchmusters.

Beachten Sie sorgfältig die Platzierung der Platzhalterzeichen. Bei Platzierung an der falschen Stelle wird möglicherweise nicht die erwartete Zahl zurückgegeben.

Zusatzwissen: MySQL LIKE Fuzzy-Abfrage %_ Platzhalter fragt alle Daten ab

Ich habe vor kurzem eine Reihe von Paging-Abfragetests geschrieben. Die Abfrageergebnisse zeigten, dass die Verwendung der beiden Sonderzeichen _ % dazu führen würde, dass alle Daten abgefragt würden. Die Abfragebedingungen funktionierten nicht und die Ergebnisse entsprachen nicht den Erwartungen des Tests.

Später fand ich heraus, dass diese beiden Sonderzeichen Platzhalter in SQL LIKE-Abfragen sind und beliebige Zeichen darstellen können.

Schließlich kamen zwei Lösungen

1. Escapen Sie diese beiden Sonderzeichen, um

2. Verwenden Sie die interne Funktion INSTR, um die herkömmliche LIKE-Abfragemethode zu ersetzen, die schneller ist.

Die Funktion INSTR() gibt die Position des ersten Vorkommens einer Teilzeichenfolge innerhalb einer Zeichenfolge zurück. Wenn die Teilzeichenfolge nicht in str gefunden wird, gibt die Funktion INSTR() null (0) zurück.

Nachfolgend wird die Syntax der INSTR-Funktion erläutert.

Wählen Sie * vom Benutzer, wobei INSTR (Name, „Xiao Ming“);

Der obige Artikel Mysql | Detaillierte Erläuterung der Fuzzy-Abfrage mit Platzhaltern (wie %, %,_) ist der gesamte Inhalt, den der Herausgeber mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Verwendung von MySQL-Fuzzy-Abfragen (regulär, Platzhalter, integrierte Funktion)
  • Zusammenfassung der MySQL-Datenbank-ähnlichen Anweisung zur Platzhalter-Fuzzy-Abfrage
  • Eine kurze Diskussion über die Implementierung von Fuzzy-Abfragen mit Platzhaltern in MySQL
  • Eine kurze Erläuterung zum Wildcard-Escape in MySQL-Fuzzy-Abfragen
  • MYSQL - Wichtige Lesehinweise Kapitel 8: Verwenden von Platzhaltern zum Filtern
  • Was bei der Verwendung von Platzhaltern in MySQL zu beachten ist
  • Detaillierte Einführung in die Verwendung von MySql wie Fuzzy-Abfrage-Platzhaltern
  • MySQL regulärer Ausdruck LIKE Platzhalter
  • MySQL-Platzhalter (erweiterte SQL-Filterung)

<<:  Verwendung des Linux-Befehls sed

>>:  Praktischer Bericht über die Entwicklung von Vue3- und TypeScript-Projekten

Artikel empfehlen

MySQL-Abfrageoptimierung: Eine Tabellenoptimierungslösung für 1 Million Daten

1. Abfragegeschwindigkeit von zwei Abfrage-Engine...

Join-Operation in MySQL

Arten von Verknüpfungen 1. Innerer Join: Die Feld...

Zusammenfassung der Anwendung von Übergangskomponenten in Vue-Projekten

​Transtion in Vue ist eine Kapselungskomponente f...

So zeigen Sie eine PDF-Datei mit pdfjs in vue in der Vorschau an

Inhaltsverzeichnis Vorwort denken Analysieren und...

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...

So verbergen und fälschen Sie die Versionsnummer in Nginx

1. Verwenden Sie den Curl-Befehl für den Standard...

MySql 5.7.20 Installation und Konfiguration von Daten- und my.ini-Dateien

1. Erster Download von der offiziellen Website vo...

Zusammenfassung der 10 gängigen HBase-Betriebs- und Wartungstools

Zusammenfassung: HBase verfügt über zahlreiche Be...

Zusammenfassung der vier Möglichkeiten zum Durchlaufen eines Arrays in JS

Dieser Artikel vergleicht und fasst vier Möglichk...