Fork me on GitHub






MySQL - clause LIKE
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2340
Bonjour:
dans certain SGBD la syntaxe de la clause 'Like' permet de faire un masque de recherche du genre:

SELECT * FROM listeDeNom WHERE nom LIKE "['a','e','i','o','u', 'y']%"

Cela permet de chercher dans ce cas tous les noms commençant par une voyelle. La liste entre crochet représente dans ce cas le premier caractère.
Est-il possible de faire la même chose avec mySQL, et avec quelle syntaxe. J'ai essayé plusieurs chose, mais la je sèche.
Mon objectif étant de trouver les enregistrements qui contiennent un mot complet. donc LIKE "%mot%" ne convient pas car il retourne tout ce qui contient l'expression.
J'entend par mot complet, tout mot entouré par des caractères délimiteur, comme l'espace, le tiret, les parenthèses ...

Merci d'avance.

Posté le : 07/08/2006 11:45
Partager Twitter Partagez cette article sur GG+
Re: MySQL - clause LIKE
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
La fonction LIKE est expliquée dans la documentation MySql(le lien porte sur la version 5.0).

D'autres pistes sur developpez.com

Posté le : 07/08/2006 11:58
Partager Twitter Partagez cette article sur GG+
Re: MySQL - clause LIKE
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2340
Merci, Sauf qu'il ne parle pas du tout de cete syntaxe.
Par contre j'ai peut une piste avec la fonction 'REGEXP' qui a priori peut m'apporter un début de solution.
je continue ...

Posté le : 07/08/2006 16:31
Partager Twitter Partagez cette article sur GG+
Re: MySQL - clause LIKE
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2340
Yes :banane: , pour ceux que cela interresse, la syntaxe pour myQL serait:
Select * FROM myTable WHERE ( name LIKE 'do' OR name REGEXP '[[:punct:],[:space:],[()<>]do[[:punct:],[:space:],[()<>]' OR name REGEXP '^do[[:punct:],[:space:],[()<>]' OR name REGEXP '[[:punct:],[:space:],[()<>]do^' )

ce qui répond completement à mon problème.
en fait la fonction de mySQL 'REGEXP' est très puissante, encore faut-il la connaitre, et en comprendre tous les mystères.

Je conseil les 2 pages suivantes pour en savoir plus:

http://dev.mysql.com/doc/refman/5.0/fr/pattern-matching.html

et
http://dev.mysql.com/doc/refman/5.0/fr/regexp.html

si vous avez des questions maintenant que j'ai compris (enfin !!! en partie) je tacherai d'y répondre.

Posté le : 07/08/2006 17:36
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant




Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

32 Personne(s) en ligne (23 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 32 | Plus ...