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 wählt den passenden Datentyp für die ID

Inhaltsverzeichnis Zusammenfassung der Distribute...

Beispiel für die Validierung eines JavaScript-Formulars

HTML-Formulare werden häufig verwendet, um Benutz...

Zehn wichtige Fragen zum Erlernen der Grundlagen von Javascript

Inhaltsverzeichnis 1. Was ist Javascript? 2. Was ...

XHTML-Erste-Schritte-Tutorial: XHTML-Hyperlinks

Es ist keine Übertreibung, zu sagen, dass Hyperlin...

Tutorial zum Herunterladen und Installieren von XFTP (grafisches Tutorial)

Wenn Sie Dateien zwischen Windows und Linux übert...

Eine kurze Zusammenfassung von Vue Keep-Alive

1. Funktion Wird hauptsächlich verwendet, um den ...

JavaScript-Makrotasks und Mikrotasks

Makrotasks und Mikrotasks JavaScript ist eine Sin...

Sprechen Sie kurz über MySQL Left Join Inner Join

Vorwort Ich war kürzlich damit beschäftigt, ein K...

Kurztipps für die Linux-Befehlszeile: So finden Sie eine Datei

Wir alle haben Dateien auf unseren Computern gesp...

Vorgehensweise bei der Installation einer virtuellen VMware Workstation-Maschine

Virtuelle Maschinen sind eine sehr praktische Tes...

So installieren und konfigurieren Sie den Apache-Webserver

Erfahren Sie, wie Sie Ihre eigene Website auf Apa...

Detaillierte Erläuterung des vite2.0-Konfigurationslernens (Typescript-Version)

einführen Die ursprünglichen Worte von You Yuxi. ...