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

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

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

【问题讨论】:

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

标签: php sql mysql


【解决方案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 字段

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-29
          • 1970-01-01
          • 1970-01-01
          • 2015-07-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多