Heim > Datenbank > MySQL-Tutorial > Wie können mehrere Wörter in MySQL-Datensätzen mithilfe von LIKE oder REGEXP effizient abgeglichen werden?

Wie können mehrere Wörter in MySQL-Datensätzen mithilfe von LIKE oder REGEXP effizient abgeglichen werden?

Patricia Arquette
Freigeben: 2024-11-26 02:15:10
Original
890 Leute haben es durchsucht

How to Efficiently Match Multiple Words in MySQL Records Using LIKE or REGEXP?

Übereinstimmung mehrerer Wörter in MySQL-Datensätzen mit LIKE oder REGEXP

Wenn Sie den LIKE-Operator verwenden, um nach Datensätzen zu suchen, die bestimmte Wörter enthalten, kann es zu Problemen kommen Schwierigkeiten bereitet es, wenn die Wörter an unterschiedlichen Positionen im Feld auftauchen. Um dieses Problem zu beheben, sollten Sie den REGEXP-Operator verwenden.

Angenommen, Sie haben eine Tabelle namens „Tabelle“ mit einem Feld namens „Name“, das den Wert „Stylus Photo 2100“ enthält. Bei Verwendung des LIKE-Operators gibt die folgende Abfrage:

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
Nach dem Login kopieren

keine Ergebnisse zurück. Dies liegt daran, dass der LIKE-Operator nach einer genauen Übereinstimmung mit der angegebenen Zeichenfolge sucht.

Um Datensätze zu finden, die die Wörter „Stylus“ und „2100“ in beliebiger Reihenfolge enthalten, können Sie den REGEXP-Operator verwenden, wie hier gezeigt Abfrage:

SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Nach dem Login kopieren

Diese Abfrage verwendet einen regulären Ausdruck, um nach Datensätzen zu suchen, bei denen das Feld „Name“ das Wort „Stylus“ gefolgt von einer beliebigen Anzahl von Zeichen enthält (angezeigt durch). das „.“) und dann das Wort „2100“.

Alternativ können Sie den LIKE-Operator mehrmals verwenden, wie in dieser Abfrage gezeigt:

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Nach dem Login kopieren

Diese Abfrage wird zurückgegeben Datensätze, bei denen das Feld „Name“ das Wort „Stylus“ und das Wort „2100“ enthält, unabhängig von ihrer Position.

Das obige ist der detaillierte Inhalt vonWie können mehrere Wörter in MySQL-Datensätzen mithilfe von LIKE oder REGEXP effizient abgeglichen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage