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

Czas Postgresa z równością stref czasowych

Oto dwa sposoby oceny timetz równość:

SELECT a, b, a = b AS plain_equality
     , '2000-1-1'::date + a = '2000-1-1'::date + b AS ts_equality
     , a AT TIME ZONE 'UTC', b AT TIME ZONE 'UTC'  AS timetz_equality
FROM  (
   SELECT '12:00:00 -0800'::timetz AS a
        , '14:00:00 -0600'::timetz AS b
   ) sub;

Pierwszy przez dodanie go do date .
Drugi przy użyciu AT TIME ZONE konstrukcja.

Ale raczej nie używaj time with time zone w ogóle.
Postgres obsługuje ten typ tylko dlatego, że jest w standardzie SQL. Jest zepsuty z założenia (nie można brać pod uwagę czasu letniego!) i odradza się jego stosowanie.

Cytując instrukcję tutaj:

Wpisz time with time zone jest zdefiniowany przez standard SQL, ale definicja wykazuje właściwości, które prowadzą do wątpliwej użyteczności. W większości przypadków kombinacja date , time , timestamp without time zone i timestamp with time zone powinien zapewniać pełny zakres funkcji daty/czasu wymaganych przez dowolną aplikację.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Architektura i dostrajanie pamięci w bazach danych PostgreSQL

  2. tabela przestawna z 2 (lub więcej) nazwami wierszy

  3. Jak wdrożyć PostgreSQL w celu zapewnienia wysokiej dostępności

  4. PostgreSQL:Utwórz tabelę, jeśli nie istnieje AS

  5. Scalanie konkatenacji kolumn JSON(B) w zapytaniu