MySQL: порядок по размеру/длине поля


вот структура таблицы (например, тест):

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

запрос типа:

SELECT * FROM TEST ORDER BY description DESC;

но я хотел бы заказать у размер/длина поля в поле Описание. Тип поля будет текст или большой двоичный объект.

3 66

3 ответа:

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

The LENGTH функция дает длину строки в байтах. Если вы хотите подсчитать (многобайтовые) символы, используйте CHAR_LENGTH функция:

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

для тех, кто использует MS SQL

SELECT * FROM TEST ORDER BY LEN(field)