Posez votre question Signaler

Mysql like '%

rexxys 1Messages postés 20 juin 2006Date d'inscription - Dernière réponse le 10 juil. 2010 à 00:44
Bonjour,
je souhaiterais faire une requete qui me selectionne tous les champs dont le code postal commençe par 33 75 ou 24 ...
mais mon code postal dans la base s'articule comme ça 44240 a 5 chiffre et quand je fais un SELECT * FROM table WHERE code_postal LIKE '%40%' il va me lister aussi bien les 44240 que les 40 120 hors je ne souhaite qu'il me liste que les code postal commençant par 40 et non contennant le chiffre 40 33 ou 75 ...
merci de votre aide
Lire la suite 

Mysql like '% »

6 réponses
Réponse
+25
moins plus
Salut
Enleves ton premier % et cela fonctionnera.

++
Ajouter un commentaire
Réponse
+10
moins plus
il suffit d'enlever le premier : % ça donnera :
SELECT * FROM table WHERE code_postal LIKE '40%' ceci veut dire tout ce qui commence par 40 :-)
Ajouter un commentaire
Réponse
+1
moins plus
Pour ton problème, il existe presque une seule solution efficace mais un peu difficile parfois (pas dans ton cas), c'est d'utiliser les expression régulières (c'est utilisable en sql comme dans autre langage respectueux), alors tu fait
select * from table where champs regex '^40'

(le SELECT * FROM table WHERE code_postal LIKE '40%' doit aussi marcher, mais bon il faut apprendre les regex pour hausser le niveau)

peti lien
http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
Ajouter un commentaire
Réponse
+1
moins plus
A_Z pour les chaine commençant par A finissant par Z avec une lettre quelconque entre les deux(un underscore= une lettre )

'ass%' pour tout les mots commençant par ass

'%ass' pour tout les mots finissant par ass

'%ass%'pour tout le mots contenant ass peut importe ou

voila...
en espérant que ca aide
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Je crois que tu devrais essayer '_' au lieu de '%'.

'%' = Chaîne de caractères
'_' = Un seul caractère
Ajouter un commentaire
Réponse
-8
moins plus
Salut
Ou là c'est compliqué ton truc lol !
Pourquoi dans ta table ta pas fais plusieurs champ un pour 44 l'autre pour 33 ça serai plus simple je pense
Ajouter un commentaire
Ce document intitulé « mysql like '% » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook