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

Posted

技术标签:

【中文标题】SQL 查询:按字符长度排序?【英文标题】:SQL Query: order by length of characters? 【发布时间】:2011-04-06 03:13:54 【问题描述】:

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

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

【问题讨论】:

您是否尝试运行该 SQL 语句? 对于那些希望使用 SQLAlchemy 执行此操作的人,请将 desc()func() 结合起来,正如 here 所暗示的那样。 【参考方案1】:

对于任何使用 Sqlite

的人
SELECT * FROM table ORDER BY LENGTH(field) DESC

【讨论】:

【参考方案2】:
SELECT * FROM YourTable ORDER BY LENGTH(Column_Name) DESC

例如;

SELECT * FROM Customer ORDER BY LENGTH(CustomerName) DESC

【讨论】:

【参考方案3】:
SELECT * FROM database ORDER BY Len(data)

【讨论】:

【参考方案4】:

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

SELECT * FROM table ORDER BY CHAR_LENGTH(field)

您可以只使用 LENGTH(),但要小心,因为它会计算字节数(这不会为您提供多字节字符串的预期结果)。

【讨论】:

如果您正在寻找 MS SQL Server 变体,请参阅下面的 Alex Reitborts 回答。 在 Oracle 中对我不起作用。只需修改:SELECT * FROM table ORDER BY LENGTH(field) android Room 查询中对我不起作用,它只能支持:LENGTH(field)【参考方案5】:
SELECT * FROM table ORDER BY length(data) desc

其中 data 是 varchar 字段

【讨论】:

以上是关于SQL 查询:按字符长度排序?的主要内容,如果未能解决你的问题,请参考以下文章

Java:将按字符串长度排序的字符串数组按字符串长度拆分为多个数组

Shell 按照字符串长度进行排序

按长度对字符串的 ArrayList 进行排序

按字符串列的长度对数据帧进行排序[重复]

Oracle29根据字段的长度排序

按长度排序数组