sql >> Database >  >> RDS >> PostgreSQL

Converteer een UTC-tijdzone in postgresql naar EST (lokale tijd)

Hier in Londen lopen we momenteel 1 uur voor op UTC. Dus - als ik uw tijdzone zonder tijdstempel neem en zeg dat deze in UTC is, laat ik deze afdrukken voor mijn lokale tijdzone.

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

Maar u wilt "EST" die ergens in Amerika lijkt te zijn, te oordelen naar de geretourneerde waarde. Je kunt de expressie desgewenst in een kleine SQL-functie plaatsen.

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)

Bewerken:hoe het te doen in een query

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

Je zult waarschijnlijk een inleidend boek over SQL willen hebben als dit soort dingen je problemen geeft.



  1. MySQL-query - Som de capaciteit van meerdere magazijnen op

  2. 4 tips voor het instellen van uw SQL Server-waarschuwingen

  3. Som per maand op en zet maanden in kolommen

  4. Geavanceerd MySQL alfabetisch sorteren met voorvoegsel?