Question

SELECT * FROM table ORDER BY string_length(column);

Y at-il une fonction MySQL pour le faire (bien sûr au lieu de string_length)?

Était-ce utile?

La solution

Vous cherchez CHAR_LENGTH() pour obtenir le nombre de caractères dans une chaîne.

Pour les jeux de caractères multi-octets LENGTH() vous donnera le nombre d'octets de la chaîne occupe, tandis que CHAR_LENGTH() retourne le nombre de caractères.

Autres conseils

select * from table order by length(column);

Documentation sur la fonction de longueur (), ainsi que toutes les autres fonctions de chaîne, est disponible ici .

Avoir un regard sur documentation MySQL pour les fonctions de chaîne, nous pouvons utiliser aussi bien CHAR_LENGTH() et CHARACTER_LENGTH().

La fonction que j'utilise pour trouver la longueur de la chaîne est length, utilisé comme suit:

SELECT * FROM table ORDER BY length(column);

J'ai utilisé cette phrase pour filtrer

SELECT table.field1, table.field2 FROM table WHERE length(field) > 10;

vous pouvez changer 10 pour un autre numéro que vous souhaitez filtrer.

select * from tablename où une longueur ayant ( nomchamp ) = fieldlength

Exemple si vous voulez choisir parmi les clients entrys avec un nom plus court puis 2 caractères.

select * from client où 1 ayant une longueur (nom) <2

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top