【问题标题】:Rails 4 how to find the maximum length of a string columnRails 4如何找到字符串列的最大长度
【发布时间】:2026-02-27 03:55:01
【问题描述】:

在SQL中求字符串列的最大长度为:

select max(length(<column>)) from <table>

谁能展示如何在 Rails 4 activerecord 甚至 squeel 中做同样的事情?

【问题讨论】:

标签: ruby-on-rails ruby-on-rails-4 activerecord


【解决方案1】:

您可以使用Model.pluck("max(length(column))"),它不会将所有内容加载到内存中。

【讨论】:

    【解决方案2】:

    这样的?

    Model.pluck(:column).max_by(&:length)
    
    #=> will return the longest string
    

    另一种选择是只在 SQL 中执行查询:

    Model.connection.execute("SELECT MAX(LENGTH(column)) FROM my_table")
    

    【讨论】:

    • 谢谢安德烈。但是,我试图将查询交给 sql 服务器,以避免拉入我认为你的建议会做的所有行,除非我弄错了。
    • @Ross 你是对的 - 公认的解决方案是更(最)有效的解决方案。