Heim >Datenbank >MySQL-Tutorial >Wie kann der LIKE-Operator von MySQL effizient für mehrere Werte verwendet werden?

Wie kann der LIKE-Operator von MySQL effizient für mehrere Werte verwendet werden?

Linda Hamilton
Linda HamiltonOriginal
2025-01-05 21:47:40124Durchsuche

How to Efficiently Use MySQL's LIKE Operator for Multiple Values?

MySQL LIKE-Abfrage für mehrere Werte

Dieser Artikel befasst sich mit einem häufigen Problem, das bei der Verwendung des LIKE-Operators in MySQL-Abfragen zur Suche nach mehreren Werten auftritt . Das Ziel besteht darin, Zeilen zu finden, in denen ein bestimmtes Feld mindestens einen der angegebenen Werte enthält.

Abfrage- und Beispieldaten

Betrachten Sie die folgende MySQL-Abfrage:

SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')

Mit den folgenden Beispieldaten im Bereich „Interessen“ Feld:

sports,shopping,pool,pc,games
shopping,pool,pc,games
sports,pub,swimming, pool, pc, games

Problembeschreibung

Die obige Abfrage funktioniert nicht wie erwartet. Es werden keine Zeilen zurückgegeben, die entweder „sports“ oder „pub“ enthalten.

Lösung: Boolesche Operatoren verwenden

Eine einfache Lösung besteht darin, boolesche Operatoren wie zu verwenden ODER um Bedingungen für mehrere Werte anzugeben:

WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'

Effizientere Lösung: Verwenden REGEXP

MySQL bietet eine effizientere Möglichkeit, mit dem REGEXP-Operator nach mehreren Werten zu suchen:

WHERE interests REGEXP 'sports|pub'

Diese Lösung verwendet den REGEXP-Operator, um einen regulären Ausdruck anzugeben, der mit Zeilen übereinstimmt, in denen Das Feld „Interessen“ enthält entweder „Sport“ oder „Sport“. „pub.“

Ressourcen

Weitere Informationen zu REGEXP in MySQL finden Sie in den folgenden Ressourcen:

  • [MySQL REGEXP](http://www.tutorialspoint.com/mysql/mysql-regexps.htm)
  • [MySQL-Foren: LIKE mehrere Werte](http://forums.mysql.com/read.php? 10,392332,392950#msg-392950)

Das obige ist der detaillierte Inhalt vonWie kann der LIKE-Operator von MySQL effizient für mehrere Werte verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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