Se você tiver uma coluna que contém valores de string e inteiros no Postgres, poderá limitar os resultados apenas a valores inteiros usando uma expressão regular:
select * from responses where value ~ '^d+$'
Coisas bem legais … No Rails, é um pouco complicado de usar, mas a maneira mais fácil que encontrei é mover para um escopo
class Response < AR::Base
scope :integer_values, -> { where("value ~ ?", '^d+$') }
end
Que você usaria da seguinte forma:
Response.integer_values.where("value > 5")