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

Převést časové pásmo UTC v postgresql na EST (místní čas)

Zde v Londýně jsme aktuálně o 1 hodinu před UTC. Takže – pokud vezmu vaše časové pásmo bez časového razítka a řeknu, že je v UTC, nechám si ho vytisknout pro své místní časové pásmo.

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
        timezone        
------------------------
 2015-10-24 17:38:46+01
(1 row)

Ale chcete "EST", který se zdá být někde v Americe, soudě podle vrácené hodnoty. Pokud chcete, můžete výraz zabalit do malé funkce SQL.

richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC') AT TIME ZONE 'EST';
      timezone       
---------------------
 2015-10-24 11:38:46
(1 row)

Edit:jak to udělat v dotazu

SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;

Pravděpodobně budete chtít získat úvodní knihu o SQL, pokud vám tyto věci způsobují problémy.



  1. Jaká je maximální povolená hodnota pro group_concat_max_len v MySQL?

  2. při použití odkazu na databázi Oracle došlo k chybě ORA-12154 TNS Nelze vyřešit zadaný identifikátor připojení

  3. Vyplňte Datagridview daty MySQL

  4. Hibernate hbm2ddl.auto Výchozí hodnota