У меня есть некоторые даты хранятся в виде строк в postgresdbдата Разбор Postgres хранится в виде строки, включая смещение часового пояса
"Fri, 24 Jun 2016 04:13:26 -0700"
Я хочу, чтобы лечить эти даты как даты.
я могу использовать
to_timestamp(date,'Dy, DD Mon YYYY HH24:MI:SS')
Но я не могу работать, как иметь дело с часовым поясом. в качестве параметра смещения появляется OF.
Если я использую
to_timestamp(date, 'Dy, DD Mon YYYY HH24:MI:SS OF')
Запрос висит. Я не могу понять, что я там делаю.
Примечание: Я использую activerecord и рельсы. поэтому запрос на самом деле
Model.all.order("to_timestamp(date,'Dy, DD Mon YYYY HH24:MI:SS OF') DESC")
Может быть? 'Time.zone.parse (« Пт, 24 июн 2016 04:13:26 -0700 »). To_date'. просто догадка. Проверьте: http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html –
PostgreSQL достаточно умен: 'select timestamp with time zone 'Fri, 24 Jun 2016 04:13:26 -0700';' возвращает ' 2016-06-24 14: 13: 26 + 03' для моего местоположения. – Abelisto
@Abelisto Есть ли способ сделать это с помощью метода to_timestamp? Проблема в том, что я пытаюсь сделать это с порядком не с выбором. – Carpela