114 votes

MySQL: Trier par taille / longueur de champ

Voici une structure de table (par exemple test):

  __________________________________________
| Field Name     | Data Type               |                 
|________________|_________________________|                 
|    id          |   BIGINT (20)           |                 
|________________|_________________________|                 
|    title       |   varchar(25)           |                 
|________________|_________________________|                 
|    description |   text                  |                 
|________________|_________________________|                 
 

Une requête comme:

 SELECT * FROM TEST ORDER BY description DESC;
 

Mais je voudrais commander par la taille du champ / longueur de la description du champ. Le type de champ sera TEXT ou BLOB.

212voto

João Silva Points 36619
SELECT * FROM TEST ORDER BY LENGTH(description) DESC;

L' LENGTH fonction donne la longueur de la chaîne en octets. Si vous voulez compter (multi-octets) de caractères, utilisez la CHAR_LENGTH plutôt:

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;

5voto

Mike Sherov Points 6955
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X