Maison >base de données >tutoriel mysql >Comment utiliser efficacement LIKE et REGEXP de MySQL pour rechercher plusieurs mots dans un seul champ ?
Considérant une table avec un champ nommé name contenant l'entrée 'Stylus Photo 2100', l'interrogation avec SELECT name FROM table WHERE name LIKE '%Stylus 2100%' ne renvoie aucun résultat, lors de la recherche de 'Photo 2100' oui. La tâche consiste à récupérer l'enregistrement à l'aide de 'Stylus 2100'.
Si l'ordre des mots est connu, l'opérateur REGEXP peut être utilisé. Utilisation du nom SELECT FROM table WHERE nom REGEXP 'Stylus. 2100', où . correspond à n'importe quelle séquence de caractères entre Stylus et 2100.
Dans les cas où l'ordre peut varier, une combinaison de LIKE peut être appliquée. En utilisant SELECT name FROM table WHERE name LIKE '%Stylus%' AND name LIKE '!00%', les deux conditions sont vérifiées indépendamment, garantissant que l'enregistrement est récupéré.
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!