Requete spéciale

Eléphant du PHP | 191 Messages

26 mai 2005, 10:47

Salut :)

Je desirerai extraire tou les champs dune table si j'ai un champs contenant un mot : SEND FAIL.

En efffet ce champs nommé Far contient un fichier de log tout entier (il doit y avoir au max 25 lignes)

Est ce que je peux tester donc le contenu du champ.......

Ca donnerai du genre
"SELECT  * FROM  `table` Where Far ='contient la chaine de caractere "SEND FAILED"'  "

MERCI :wink:
tu as la splendeur d'un enterrement de première class e

Mammouth du PHP | 859 Messages

26 mai 2005, 10:54

Tu peux essayer ceci :
"SELECT  * FROM  table Where Far LIKE 'SEND FAIL'"

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 mai 2005, 10:58

Si c'est CONTIENT la chaine SEND FAR, je dirais plutôt :

Code : Tout sélectionner

"SELECT * FROM table Where Far LIKE '%SEND FAIL%'"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 430 Messages

26 mai 2005, 10:58

"SELECT  * FROM  table Where Far LIKE 'SEND FAIL'"

faut pas mettre des % ?
"SELECT  * FROM  table Where Far LIKE '%SEND FAIL%'"

Mammouth du PHP | 859 Messages

26 mai 2005, 11:01

Justement j'ai eu un doute sur les % donc j'ai été voir la doc française de Nexen :
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
Est-ce que ça veut dire qu'un terme exact dans une chaîne n'a pas besoin de %?

Eléphant du PHP | 191 Messages

26 mai 2005, 11:11

Ouai j'ai utilisé
"SELECT  * FROM  table Where Far LIKE '%SEND FAIL%'"
et ça marche tout a fait bien.......Merci pour la rapidité de la réponse.... =D>
tu as la splendeur d'un enterrement de première class e

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

26 mai 2005, 11:17

Justement j'ai eu un doute sur les % donc j'ai été voir la doc française de Nexen :
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
Est-ce que ça veut dire qu'un terme exact dans une chaîne n'a pas besoin de %?
SELECT 'David!' LIKE 'David_'; va rechercher exactement 'David_' dans le champ 'David!'

Alors que SELECT 'David!' LIKE '%D%v%'; va chercher toutes les occurences de David! qui contiennent un D puis un v
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Administrateur PHPfrance
Administrateur PHPfrance | 430 Messages

27 mai 2005, 09:22

Like c un peu comme les expressions régulières mais en simplissime : y'a que deux controles (a ma connaissance)
'_' qui remplace n'importe quel caractère une fois (c'est l'équivalent du '.' en pREG)
et '%' qui remplace n'importe quelle chaine (c'est l'équivalent du '.*' en pREG)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 mai 2005, 11:42

OK !!!

Je me coucherais plus savant (ou moins c** :langue:) ce soir !!!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer