Aller au contenu

compter le nombre de lettres d'un mots


Sujets conseillés

Posté

Bonjour,

dans une requete, je ne voudrais afficher que les résultats ou le code postal ne comporte que 5 caractères (car ils ne sont pas tous bien en forme).

Alors j'ai cette requête : "SELECT * FROM table"

J'ai vu que l'on pouvait utilisé LEN mais ça ne fonctionne pas.

J'avais essayé ça :"SELECT * FROM table WHERE LEN(champ_cp) = 5"

Mais mysql me retourne que la fonction LEN n'existe pas.

Voila merci d'avance pour le coup de pouce.

Posté

Salut,

à ma connaissance, LEN n'existe pas en MySQL.

Ne confonds tu pas avec CHAR_LENGTH qui retourne la longueur en nombre de caractères d'un résultat ?

++

Patrick

Posté

Ok ça fonctionne Merci bien Portekoi.

Sinon Patrick je pense que tu as raison sur le fais que LEN n'existe pas en sql car mysql ne trouvais pas la fonction. J'ai du me planter quelque part.

liou13

Posté

Tiens je ne connaissais pas CHAR_LENGTH(), j'avais pour habitude d'utiliser LENGTH() ; j'ai donc fait un tour dans la doc et il y est expliqué que LENGTH() ne gère pas "correctement" les caractères "multi octets"... me v'la bien, ça va me faire pas mal de code à revoir :'(

Enfin du coup merci, je vais pouvoir corriger cela.

En passant, la doc en question : http://dev.mysql.com/doc/refman/5.0/en/string-functions.html

Posté

Effectivement,pour la longueur d'une chaine, LENGHT compte en octets, alors que CHAR_LENGHT compte en caractères. Cela peut donner des résultats différents et donc des surprises dans un script !

Bon courage Kioob pour tes corrections de codes et heureux que le Hub t'ai apporté quelque chose d'utile.

++

Patrick

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...