本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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