Postgres, Rails e Regex’s

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")