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 查询:按字符长度排序?的主要内容,如果未能解决你的问题,请参考以下文章