SQL prise en compte du Underscore [Résolu/Fermé]

Messages postés
320
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
19 janvier 2011
- - Dernière réponse :  testfield - 4 déc. 2017 à 13:05
Bonjour,

J'ai une requete dans un formulaire php du type

Select *
From `atrium`
Where `idclient` LIKE 'FR%$code';

elle fonctionne très bien cependant j'aimerais rajouter que entre le FR% et le $code il y est un underscore ( _ )

ma requete future
Select *
From `atrium`
Where `idclient` LIKE 'FR%_$code';


Mon souci est qu'il ne prent pas en compte le underscore

Quel qu'un peut il m'aidé s'il vous plait merci
Afficher la suite 

4 réponses

Meilleure réponse
5
Merci
select * from NomTable f where f.field like 'E\_%' escape '\' ;

L'utilisation du mot clef escape permet de definir un caractere d'echappement

Dire « Merci » 5

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62605 internautes nous ont dit merci ce mois-ci

Messages postés
320
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
19 janvier 2011
46
2
Merci
C'est le \\ pour accepté une valeur déja utilisé exemple vous recherche une chaine de caractère qui comprend un pourcentage ou un underscore il faus metre devant le \\

\\%

ou

\\_
Messages postés
320
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
19 janvier 2011
46
0
Merci
s'il vous plait help me
Messages postés
1265
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1213
0
Merci
Bonjour,

En fait, le caractère "_" est utilisé dans un LIKE comme indiquant que l'on accepte n'importe quel caractère à la place du "_".
Exemple: SELECT * FROM NomTable WHERE NomColonne LIKE 'A_Z'
Cela permet de sélectionner tous les enregistrement où NomColonne commence par A , est suivi de n'importe quel caractère et ensuite Z , dont si NomColonne = 'AHZ', il sera sélectionné, par contre si NomColonne = 'AHHZ' il ne sera pas sélectionné.
Je pense que tu dois utiliser ta première requête et vérifier par du code PHP que ton idclient contient le caractère "_".
A plus