sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo convertir el tiempo hasta la fecha en la zona horaria local durante la consulta

¡Finalmente conseguí que funcionara! No es muy bonito (y espero que haya una solución más limpia), pero esto funcionó:

>> Payment.all(:conditions => 
              ["Date((payments.created_at at time zone 'UTC') 
                at time zone :timezone) >= :start_date and 
                Date((payments.created_at at time zone 'UTC') 
                at time zone :timezone) <= :end_date",
               :start_date => start_date, :end_date => end_date, 
               :timezone => 'Asia/Katmandu'])

Sin embargo, no me gusta mucho tener que hacer esto:

Date((payments.created_at at time zone 'UTC') at time zone 'Asia/Katmandu')

¿Cómo es que postgresql no te deja hacer esto?

Date(payments.created_at at 'Asia/Katmandu')