如何在 Redshift 中获取当前会话时区?

ece*_*ulm 4 amazon-redshift

我知道我可以使用会话时区

SET TIMEZONE TO 'CET';
Run Code Online (Sandbox Code Playgroud)

但有办法找回来吗?我想要类似的东西

SELECT SESSIONTIMEZONE, SYSDATE, SYSDATE::timestamptz, SYSDATE::timestamptz AT TIME ZONE 'UTC', SYSDATE::timestamptz AT TIME ZONE 'CET'; 
Run Code Online (Sandbox Code Playgroud)

我希望返回

UTC| ... 12:23:55.963747 | ... 12:23:55.963747+00 | ... 12:23:55.963747+00 | ... 12:23:55.963747+01
Run Code Online (Sandbox Code Playgroud)

有办法得到吗?我没有看到任何 CURRENT_TIMEZONE 或 GET_TIMEZONE 函数。

ece*_*ulm 5

您可以使用CURRENT_SETTING('timezone')来获取它或SHOW TIMEZONE;

select current_setting('timezone'), sysdate, sysdate::timestamptz, sysdate::timestamptz at time zone 'utc', sysdate::timestamptz at time zone 'cet';
UTC 2021-03-19 12:48:09.989592  2021-03-19 12:48:09.989592+00   2021-03-19 12:48:09.989592  2021-03-19 13:48:09.989592
Run Code Online (Sandbox Code Playgroud)