Я храню информацию о продукте, включая год выпуска продукта, используя hstore и postgresql в rails. Теперь я хотел бы иметь возможность запрашивать все продукты, выпущенные до или после определенного года. Я могу запросить все записи, содержащие поле года в столбце хранилища данных, используя:
Product.where("data ? 'year'")
Из-за hstore значение года хранится в виде строки. Поэтому я попытался привести год к целому числу, чтобы найти записи с годами больше/меньше X:
Product.where("(data ? 'year')::int > 2011")
Однако это, похоже, не работает, я всегда получаю взамен пустой массив результатов. Что я делаю неправильно? Есть ли другой способ сделать это?
->
. Итак, попробуйтеwhere("(data -> 'year')::int > 2011")
. postgresql.org/docs/9.3/static/hstore.html - person j03w   schedule 08.10.2013