Ruby on rails 如何在rails中以整数形式从postgresql获取间隔结果
我正在rails中运行一个查询,以在几分钟内获得两个事件之间的延迟。我的工作很好,如下所示Ruby on rails 如何在rails中以整数形式从postgresql获取间隔结果,ruby-on-rails,ruby,activerecord,rails-postgresql,pg,Ruby On Rails,Ruby,Activerecord,Rails Postgresql,Pg,我正在rails中运行一个查询,以在几分钟内获得两个事件之间的延迟。我的工作很好,如下所示 orders.select("extract(epoch from (orders.procedure_time - orders.call_time)) / 60 AS delay").map &:delay 其中orders是现有的ActiveRecord::Relation对象 到目前为止,这工作非常好,只是我得到的是一个字符串数组,而不是整数数组。在Ruby中进行分类很容易——我所做的如
orders.select("extract(epoch from (orders.procedure_time - orders.call_time)) / 60 AS delay").map &:delay
其中orders是现有的ActiveRecord::Relation对象
到目前为止,这工作非常好,只是我得到的是一个字符串数组,而不是整数数组。在Ruby中进行分类很容易——我所做的如下
orders.select("extract(epoch from (orders.procedure_time - orders.call_time)) / 60 AS delay").map{|x| x.delay.to_i}
这样就可以了,但我只是想知道是否有办法直接从postgres中获取整数?看起来一开始它必须有整数,但是它们被转换成字符串,然后我必须转换回来,这有点不公平。我猜pgsql驱动程序正在将整数转换成字符串。您能否尝试执行
“选择1::int作为id;”
并查看返回结果的类型?@AntoanMilkov:任何不是表列的内容都将显示为字符串。可能重复或至少这是相同基础问题的另一面。好的,谢谢。看来没有别的办法了。