2011-10-09 145 views
2

在MySQL中,有沒有一種方法可以按列的長度(字符)排序我的結果?SQL/MySQL - 按列長度排序

例如:

myColumn 
________________ 
lor 
lorem 
lorem ip 
lorem ips 
lorem ipsum 

我想以最小柱長先訂購我的結果,「LOR」,並在最大列長度,「Lorem存有」的結局。這應該包括0的列長度。

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

+0

要求已經看到http://stackoverflow.com/questions/2572118/mysql-order-by-field-size-length –

回答

9

您可以使用CHAR_LENGTH()功能:

ORDER BY CHAR_LENGTH(column) 

注意CHAR_LENGTH()作品Unicode字符串以及其中LENGTH()是拉丁確定,但可能會出現意想不到的帶有Unicode的結果:

CHAR_LENGTH(str)

返回字符串str的長度,以字符爲單位。多字節字符計爲單個字符。這意味着,對於含有五兩字節字符,length()返回10,而CHAR_LENGTH()的字符串返回5

+0

感謝您的時間ypercube :) – TheCarver

2
SELECT * FROM my_table ORDER BY LENGTH(my_column)