Maison > base de données > tutoriel mysql > Comment faire correspondre efficacement plusieurs mots dans des enregistrements MySQL à l'aide de LIKE ou REGEXP ?

Comment faire correspondre efficacement plusieurs mots dans des enregistrements MySQL à l'aide de LIKE ou REGEXP ?

Patricia Arquette
Libérer: 2024-11-26 02:15:10
original
934 Les gens l'ont consulté

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

Faire correspondre plusieurs mots dans des enregistrements MySQL à l'aide de LIKE ou REGEXP

Lorsque vous utilisez l'opérateur LIKE pour rechercher des enregistrements contenant des mots spécifiques, vous pouvez rencontrer difficultés si les mots apparaissent à des endroits différents dans le champ. Pour résoudre ce problème, envisagez d'utiliser l'opérateur REGEXP.

Par exemple, disons que vous avez une table nommée « table » avec un champ appelé « nom » qui contient la valeur « Stylus Photo 2100 ». En utilisant l'opérateur LIKE, la requête suivante :

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
Copier après la connexion

ne renverra aucun résultat. En effet, l'opérateur LIKE recherche une correspondance exacte de la chaîne spécifiée.

Pour rechercher des enregistrements contenant les mots « Stylus » et « 2100 » dans n'importe quel ordre, vous pouvez utiliser l'opérateur REGEXP, comme indiqué dans cette requête :

SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Copier après la connexion

Cette requête utilisera une expression régulière pour rechercher des enregistrements dont le champ « nom » contient le mot « Stylus » suivi d'un nombre quelconque de caractères (indiqué par le '.'), puis le mot « 2100 ».

Vous pouvez également utiliser l'opérateur LIKE plusieurs fois, comme indiqué dans cette requête :

SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Copier après la connexion

Ceci la requête renverra les enregistrements dont le champ « nom » contient le mot « Stylet » et le mot « 2100 », quelle que soit leur position.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal