Her i London er vi i øjeblikket 1 time foran UTC. Så - hvis jeg tager din tidszone uden tidsstempel og siger, at den er i UTC, får jeg den udskrevet for min lokale tidszone.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
timezone
------------------------
2015-10-24 17:38:46+01
(1 row)
Men du vil have "EST", som ser ud til at være et sted i Amerika, at dømme efter den returnerede værdi. Du kan pakke udtrykket ind i en lille SQL-funktion, hvis du vil.
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)
Rediger:hvordan gør man det i en forespørgsel
SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;
Du vil sikkert gerne have en introduktionsbog om SQL, hvis denne slags ting volder dig problemer.