SQL查询:按字符长度排序?

Tor*_*enL 52 php mysql sql

早上,是否可以按字符长度排序sql数据行?

例如 SELECT * FROM database ORDER BY data.length()

tam*_*asd 72

我想你想用这个:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_char-length

SELECT * FROM table ORDER BY CHAR_LENGTH(field)
Run Code Online (Sandbox Code Playgroud)

你可以只使用LENGTH(),但要注意,因为它计算字节数(不会给你多字节字符串的预期结果).

  • 如果您正在寻找MS SQL Server变体,请参阅下面的Alex Reitborts答案. (2认同)
  • 在Oracle中不适用于我,只需使用以下命令进行修改:SELECT * FROM table ORDER BY LENGTH(field) (2认同)

Ale*_*ort 41

SELECT * FROM database ORDER BY Len(data)
Run Code Online (Sandbox Code Playgroud)

  • 这个适用于MS SQL Server. (18认同)

Mic*_*sov 9

SELECT * FROM table ORDER BY length(data) desc
Run Code Online (Sandbox Code Playgroud)

数据是varchar字段的位置


zee*_*wan 7

对于任何使用Sqlite的人

SELECT * FROM table ORDER BY LENGTH(field) DESC
Run Code Online (Sandbox Code Playgroud)