web-dev-qa-db-fra.com

MySQL: Trier par taille / longueur de champ

Voici une structure de tableau (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 taille/longueur du champ de la description du champ. Le type de champ sera TEXT ou BLOB.

76
Sadi
SELECT * FROM TEST ORDER BY LENGTH(description) DESC;

La fonction LENGTH donne la longueur de la chaîne en octets. Si vous souhaitez compter les caractères (multi-octets), utilisez le CHAR_LENGTH fonction à la place:

SELECT * FROM TEST ORDER BY CHAR_LENGTH(description) DESC;
142
João Silva
SELECT * FROM TEST ORDER BY CHAR_LENGTH(description);
4
Mike Sherov

Pour ceux qui utilisent MS SQL

SELECT * FROM TEST ORDER BY LEN(field)
3
mfrederick