Mehrwortabgleich in MySQL mit SELECT LIKE oder REGEXP
Die SELECT-Anweisung in SQL ermöglicht das Filtern von Datensätzen basierend auf bestimmten Kriterien. Beim Umgang mit Daten, die aus mehreren Wörtern bestehen, wie Produktnamen oder Beschreibungen, kann es schwierig sein, Datensätze zu finden, die mit mehreren Wörtern übereinstimmen.
LIKE vs. REGEXP
MySQL stellt zwei Operatoren bereit, die für den Platzhalterabgleich verwendet werden können: LIKE und REGEXP. LIKE verwendet den %-Platzhalter, um null oder mehr Zeichen zu finden, während REGEXP eine komplexere Übereinstimmung mit regulären Ausdrücken ermöglicht.
Mehrere Wörter mit LIKE abgleichen
Im gegebenen Beispiel Die Abfrage SELECT name FROM table WHERE name LIKE '%Stylus 2100%' gibt keine Ergebnisse zurück, da sie nicht mit beiden Wörtern im Datensatz übereinstimmt. Um einen Mehrwortabgleich mit LIKE zu erreichen, können Sie den folgenden Ansatz verwenden:
SELECT name FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Diese Abfrage wählt Datensätze aus, die sowohl „Stylus“ als auch „2100“ in beliebiger Reihenfolge enthalten.
Mehrere Wörter mit REGEXP abgleichen
REGEXP bietet eine leistungsfähigere Möglichkeit, mehrere Wörter mithilfe regulärer Ausdrücke abzugleichen. Die folgende Abfrage verwendet einen regulären Ausdruck, um Datensätze abzugleichen, die „Stylus“ gefolgt von einem oder mehreren Zeichen gefolgt von „2100“ enthalten:
SELECT name FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Diese Abfrage gibt den Datensatz mit dem Wert „Stylus Photo 2100“ zurück. .
Das obige ist der detaillierte Inhalt vonWie kann man mehrere Wörter in MySQL mithilfe von LIKE oder REGEXP effizient zuordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!