sql >> Databáze >  >> RDS >> PostgreSQL

Jak převést čas na datum v místním časovém pásmu během dotazu

Konečně se to povedlo! Není to moc hezké (a doufám, že existuje čistší řešení), ale fungovalo to:

>> 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'])

Nelíbí se mi, že to musím dělat:

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

Jak to, že vám postgresql nedovolí to udělat?

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


  1. Instalace PL/Ruby pro PostgreSQL 8.3

  2. Django:Změňte TimeField na DateTimeField v models.py

  3. Vygenerujte pořadové číslo ve výběru

  4. Datum se vkládá jako 0000-00-00 00:00:00 v mysql