sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres tid med tidszone lighed

Her er to måder at evaluere timetz på ligestilling:

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;

Den første ved at tilføje den til en dato .
Den anden ved at bruge TIDSZONE konstruere.

Men brug hellere ikke tid med tidszone overhovedet.
Postgres understøtter kun typen, fordi den er i SQL-standarden. Det er brudt af design (kan ikke overveje sommertid!), og dets brug frarådes.

Citerer manualen her:

Typen tid med tidszone er defineret af SQL-standarden, men definitionen udviser egenskaber, som fører til tvivlsom anvendelighed. I de fleste tilfælde er en kombination af dato , tid , tidsstempel uden tidszone , og tidsstempel med tidszone skal give et komplet udvalg af dato/tidsfunktioner, der kræves af enhver applikation.




  1. SQLite - Indsæt data

  2. Sådan bootstrap MySQL eller MariaDB Galera Cluster - Opdateret

  3. Nye AMD-processorfamilier kan sammenlignes med nye Intel-processorer

  4. Sådan eksporteres forespørgselsresultater til en CSV-fil i SQLcl (Oracle)