SQL / MySQL - порядок по длине столбца - PullRequest
2 голосов
/ 09 октября 2011

В MySQL есть способ упорядочить мои результаты по длине (символам) столбца?

Например:

myColumn
________________
lor
lorem
lorem ip
lorem ips
lorem ipsum

Я хотел бы упорядочить свои результаты по наименьшей длине столбца, сначала lor, и заканчивая наибольшей длиной столбца lorem ipsum. Это также должно включать длину столбца, равную 0.

Любые предложения с благодарностью приняты ...

Ответы [ 3 ]

11 голосов
/ 09 октября 2011

Вы можете использовать функцию CHAR_LENGTH():

ORDER BY CHAR_LENGTH( column )

Обратите внимание, что CHAR_LENGTH() работает и для строк Unicode, где LENGTH() в порядкедля латиницы, но может дать неожиданные результаты с Unicode:

CHAR_LENGTH (str)

Возвращает длину строки str, измеренную в символах.Многобайтовый символ считается одним символом.Это означает, что для строки, содержащей пять двухбайтовых символов, LENGTH () возвращает 10, тогда как CHAR_LENGTH () возвращает 5.

3 голосов
/ 09 октября 2011
SELECT * FROM my_table ORDER BY LENGTH(my_column)
1 голос
/ 09 октября 2011

Посмотрите на оператора LENGTH () .

ORDER BY LENGTH(myColumn)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...