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

Postgres UTC datoformat &epoke cast, fortegn inversion

Dette

1970-01-01 00:00:00+01

er et ISO 8601 tidsstempel med en +1 times offset og +1 betyder øst for Greenwich. Forskydningerne i disse

01-01-1970 00:00:00 UTC+01
1970-01-01 00:00:00 UTC+01
1970-01-01 00:00:00 XXX+01
1970-01-01 00:00:00 HAHA+01
1970-01-01 00:00:00 Pancakes+01

vil blive fortolket som tidszoner i POSIX-stil, hvor +1 betyder vest fra Greenwich:

PostgreSQL accepterer tidszonespecifikationer i POSIX-stil af formen STDoffset eller STDoffsetDST, hvor STD er en zoneforkortelse, offset er en numerisk offset i timer vest for UTC

og dem kommer endda med en advarsel:

Man skal være forsigtig med, at tidszonefunktionen i POSIX-stil kan føre til lydløst at acceptere falsk input, da der ikke er nogen kontrol med rimeligheden af ​​zoneforkortelserne. For eksempel SET TIMEZONE TO FOOBAR0 vil fungere, hvilket efterlader systemet effektivt med en ret ejendommelig forkortelse for UTC. Et andet problem at huske på er, at i POSIX-tidszonenavne bruges positive forskydninger for lokationer vest for Greenwich. Alle andre steder følger PostgreSQL ISO-8601-konventionen om, at positive tidszoneforskydninger er øst for Greenwich.

Bemærk forskellen mellem vest og øst.




  1. MySQL-ydelse:MyISAM vs InnoDB

  2. 4 funktioner, der returnerer minutterne fra en tidsværdi i MariaDB

  3. PL/SQL-program til at slette posterne fra tabellen

  4. Tjek og optimer MySQL-databasen automatisk med Crontab/Cron