SQL / MySQL - 按列长度排序

时间:2011-10-09 17:16:17

标签: mysql sql database

在MySQL中,有没有办法按列的长度(字符)来命令我的结果?

例如:

myColumn
________________
lor
lorem
lorem ip
lorem ips
lorem ipsum

我想先用最小的列长度“lor”来命令我的结果,然后以最大的列长度“lorem ipsum”结束。这应包括列长度为0。

感激地收到任何建议......

3 个答案:

答案 0 :(得分:10)

您可以使用 CHAR_LENGTH() 功能:

ORDER BY CHAR_LENGTH( column )

请注意,CHAR_LENGTH()也适用于Unicode字符串,其中LENGTH()适用于拉丁语,但可能会因Unicode而产生意外结果:

  

CHAR_LENGTH(STR)

     

返回字符串str的长度,以字符为单位。多字节字符计为单个字符。这意味着对于包含五个双字节字符的字符串,LENGTH()返回10,而CHAR_LENGTH()返回5.

答案 1 :(得分:3)

SELECT * FROM my_table ORDER BY LENGTH(my_column)

答案 2 :(得分:1)

查看LENGTH()运算符。

ORDER BY LENGTH(myColumn)