Signaler

Mysql like '% [Fermé]

Posez votre question rexxys 2Messages postés mardi 10 octobre 2000Date d'inscription 5 janvier 2007 Dernière intervention - Dernière réponse le 10 juil. 2010 à 00:44 par atclik
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
Utile
+50
plus moins
Salut
Enleves ton premier % et cela fonctionnera.

++
Cette réponse vous a-t-elle aidé ?  
Utile
+25
plus moins
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 :-)
Utile
+15
plus moins
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
Utile
+5
plus moins
Salut,

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

'%' = Chaîne de caractères
'_' = Un seul caractère
Utile
+2
plus moins
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
Utile
-13
plus moins
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

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !