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

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

DDD
Libérer: 2024-11-25 13:09:15
original
276 Les gens l'ont consulté

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

Correspondance de plusieurs mots dans MySQL à l'aide de SELECT LIKE ou REGEXP

L'instruction SELECT dans SQL permet de filtrer les enregistrements en fonction de critères spécifiques. Lorsque vous traitez des données comportant plusieurs mots, telles que des noms de produits ou des descriptions, il peut être difficile de trouver des enregistrements correspondant à plusieurs mots.

LIKE vs. REGEXP

MySQL fournit deux opérateurs qui peuvent être utilisés pour la correspondance avec des caractères génériques : LIKE et REGEXP. LIKE utilise le caractère générique % pour faire correspondre zéro ou plusieurs caractères, tandis que REGEXP permet une correspondance d'expressions régulières plus complexe.

Faire correspondre plusieurs mots avec LIKE

Dans l'exemple donné, la requête SELECT nom FROM table WHERE nom LIKE '%Stylus 2100%' ne renvoie aucun résultat car elle ne correspond pas aux deux mots de l'enregistrement. Pour obtenir une correspondance de plusieurs mots avec LIKE, vous pouvez utiliser l'approche suivante :

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

Cette requête sélectionnera les enregistrements contenant à la fois « Stylus » et « 2100 » dans n'importe quel ordre.

Faire correspondre plusieurs mots avec REGEXP

REGEXP offre un moyen plus puissant de faire correspondre plusieurs mots en utilisant des expressions régulières. La requête suivante utilise une expression régulière pour faire correspondre les enregistrements contenant « Stylus » suivi d'un ou plusieurs caractères suivis de « 2100 » :

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

Cette requête renverra l'enregistrement avec la valeur « Stylus Photo 2100 » .

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal