AT TIME ZONE 函數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AT TIME ZONE 函數

AT TIME ZONE 指定要透過 TIMESTAMP 或 TIMESTAMPTZ 表達式來使用哪一個時區。

語法

AT TIME ZONE 'timezone'

引數

timezone

傳回值的 TIMEZONE。您可以將時區指定為時區名稱 (例如 'Africa/Kampala''Singapore') 或做為時區縮寫 (例如 'UTC''PDT')。

若要查看受支援時區名稱的清單,請執行下列命令。

select pg_timezone_names();

若要查看受支援時區縮寫的清單,請執行下列命令。

select pg_timezone_abbrevs();

如需詳細資訊和範例,請參閱 時區使用須知

傳回類型

與 TIMESTAMP 表達式搭配使用時的 TIMESTAMPTZ。與 TIMESTAMPTZ 表達式搭配使用時的 TIMESTAMP。

範例

下列範例會轉換不含時區的時間戳記值,並將其解譯為 MST 時間 (POSIX 中的 UTC+7)。此範例會傳回 UTC 時區的 TIMESTAMPTZ 資料類型值。如果您將預設時區設定為 UTC 以外的時區,可能會看到不同的結果。

SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST'; timezone ------------------------ 2001-02-17 03:38:40+00

下列範例會使用含時區值的輸入時間戳記,其中指定的時區是 EST (POSIX 中的 UTC+5) 且會將其轉換為 MST (POSIX 中的 UTC+7)。此範例會傳回 TIMESTAMP 資料類型的值。

SELECT TIMESTAMPTZ '2001-02-16 20:38:40-05' AT TIME ZONE 'MST'; timezone ------------------------ 2001-02-16 18:38:40