PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak przekonwertować czas na datę w lokalnej strefie czasowej podczas zapytania

Wreszcie udało się! Niezbyt ładna (i mam nadzieję, że istnieje czystsze rozwiązanie), ale to zadziałało:

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

Nie bardzo lubię jednak tego robić:

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

Dlaczego postgresql nie pozwala ci po prostu tego zrobić?

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nadchodzi Postgresql JSONB. Czego teraz użyć? Hsklep? JSON? EAV?

  2. Jak wykorzystać nowe funkcje partycjonowania w PostgreSQL 11?

  3. Oblicz liczbę jednoczesnych zdarzeń w SQL

  4. Spring Data zwraca listę<Object[]>

  5. ImportError podczas uruchamiania cgi-bin na localhost - niezdefiniowany symbol:lo_truncate64