MySQL et les expressions régulières
28 Décembre 2007 01:33 | Par Miss Lemon dans Développement
Vous connaissez surement les expressions régulières (regex).
Pour faire une recherche un peu complexe, il n'y a rien de mieux.
Je m'en servait jusqu'ici essentiellement avec PHP, un peu en shell, mais j'ai découvert aujourd'hui que MySQL aussi pouvait les utiliser.
J'avais une requête qui me permettait de récupérer dans une table "personne" toutes les occurrences selon une partie d'un prénom .
Par exemple pour trouver les jérome et les véronique , j'utilisais la requête suivante :
SELECT champ1, champ2 FROM personne WHERE lower(prenom) like '%éro%'"Mais voilà , jérome s'écrit en fait jérôme, et je souhaitais donc à partir de la chaine "ero" ou "éro" trouver les :
- vero
- véro
- jerome
- jerôme
- jérome
- jérôme
- ..
Je remplace donc mes caractères (par exemple "e" et "é") en un motif regexp, et pour MySql ma requête est devenue:
SELECT champ1, champ2 FROM personne WHERE lower(prenom) regexp '[eèéêë]r[oðòóôõö]'
Et voilà le travail ...
En savoir plus:
Les expressions régulières
Expressions régulières MySQL







Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire