Tại London, chúng tôi hiện đang đi trước UTC 1 giờ. Vì vậy - nếu tôi lấy múi giờ của bạn mà không có dấu thời gian và nói rằng đó là UTC, tôi sẽ in nó cho múi giờ địa phương của tôi.
richardh=> SELECT ((timestamp '2015-10-24 16:38:46') AT TIME ZONE 'UTC');
timezone
------------------------
2015-10-24 17:38:46+01
(1 row)
Nhưng bạn muốn "EST" dường như ở đâu đó ở Châu Mỹ, đánh giá theo giá trị được trả về. Bạn có thể bọc biểu thức trong một hàm SQL nhỏ nếu bạn muốn.
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)
Chỉnh sửa:cách thực hiện trong một truy vấn
SELECT ((stored_timestamp AT TIME ZONE 'UTC') AT TIME ZONE 'EST') AS local_timestamp
FROM my_table;
Bạn có thể sẽ muốn nhận một cuốn sách giới thiệu về SQL nếu điều này gây ra sự cố cho bạn.