Я запускаю запрос в рельсах, чтобы получить задержку между двумя событиями в минутах. У меня это хорошо работает следующим образом;
orders.select("extract(epoch from (orders.procedure_time - orders.call_time)) / 60 AS delay").map &:delay
где заказы - это существующий объект ActiveRecord::Relation
Пока это работает абсолютно нормально, за исключением того, что я возвращаю массив строк, а не целых чисел. В Ruby достаточно легко разобраться - я сделал следующее:
orders.select("extract(epoch from (orders.procedure_time - orders.call_time)) / 60 AS delay").map{|x| x.delay.to_i}
Это подойдет, но мне просто интересно, есть ли способ получить целые числа непосредственно из postgres? Кажется, что изначально он должен иметь целые числа, но они преобразуются в строки, которые я затем должен преобразовать обратно, что имеет запах неэлегантности.
"select 1::int as id;"
и посмотреть, какой тип возвращаемого результата? - person Antoan Milkov   schedule 15.09.2013