运行查询时:
select sum(items) from my_table where ...
我回来的结果(ruby)属于BigDecimal
类型。是否有任何SQL魔法我可以申请返回int
?
答案 0 :(得分:2)
在NUMERIC
列上执行此类操作时,您会获得BigDecimal结果。您可能想要的是在Ruby中使用collect
操作转换它,或者在返回它之前通过转换为整数来在MySQL级别转换它:
SELECT FLOOR(SUM(items)) FROM my_table WHERE ...
答案 1 :(得分:1)
select cast(sum(items) as binary) ...
对我来说效果很好