Maison >base de données >tutoriel mysql >Comment utiliser efficacement l'opérateur LIKE de MySQL pour plusieurs valeurs ?

Comment utiliser efficacement l'opérateur LIKE de MySQL pour plusieurs valeurs ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-05 21:47:40190parcourir

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

Requête MySQL LIKE pour plusieurs valeurs

Cet article aborde un problème courant rencontré lors de l'utilisation de l'opérateur LIKE dans les requêtes MySQL pour rechercher plusieurs valeurs . L'objectif est de trouver les lignes dans lesquelles un champ particulier contient au moins une des valeurs spécifiées.

Requête et exemples de données

Considérez la requête MySQL suivante :

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

Avec les exemples de données suivants dans les "intérêts" field :

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

Description du problème

La requête ci-dessus ne fonctionne pas comme prévu. Il ne parvient pas à renvoyer les lignes contenant « sports » ou « pub ».

Solution : utilisation d'opérateurs booléens

Une solution simple consiste à utiliser des opérateurs booléens tels que OU pour spécifier des conditions pour plusieurs valeurs :

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

Solution plus efficace : utiliser REGEXP

MySQL fournit un moyen plus efficace de rechercher plusieurs valeurs à l'aide de l'opérateur REGEXP :

WHERE interests REGEXP 'sports|pub'

Cette solution utilise l'opérateur REGEXP pour spécifier une expression régulière qui correspond aux lignes où le champ « centres d'intérêt » contient soit « sports », soit "pub."

Ressources

Pour plus d'informations sur REGEXP dans MySQL, reportez-vous aux ressources suivantes :

  • [MySQL REGEXP](http://www.tutorialspoint.com/mysql/mysql-regexps.htm)
  • [Forums MySQL : COMME plusieurs valeurs](http://forums.mysql.com/read.php? 10,392332,392950#msg-392950)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn