postgresql:在不改变时间的情况下更改时间戳时区部分?

Ari*_*rif 6 postgresql timestamp

我的表中有一个时间戳字段,它以 UTC-10 格式存储数据。但是,正确的时区是 UTC+10

我想在不改变时间的情况下将时区部分更改为 UTC+10。只希望系统考虑与 UTC+10 而不是 UTC-10 相同的时间戳

如果我这样做

select email_timestamp as time zone 'UTC+10' from emails
Run Code Online (Sandbox Code Playgroud)

然后它也会改变时间。

有人可以告诉我如何在不改变时间的情况下更改时区部分吗?

Kir*_*bal 5

剥离时区而不更改时间,然后添加时区而不转换时间:

(myfield::timestamp || 'UTC+10')::timestamptz
Run Code Online (Sandbox Code Playgroud)

再次为您的时区选择它以查看您想要的内容:

SELECT myfield AT TIME ZONE 'UTC+10'
Run Code Online (Sandbox Code Playgroud)