本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
timezone
值 (粗體為預設值)
UTC,時區
語法
SET timezone { TO | = } [ time_zone | DEFAULT ] SET time zone [ time_zone | DEFAULT ]
描述
設定目前工作階段的時區。時區可以是與通用協調時間 (UTC) 或時區名稱的偏移。
注意
您不能使用叢集參數群組設定此 timezone
組態參數。只能使用 SET命令為目前的工作階段設定時區。若要設定特定資料庫使用者執行之所有工作階段的時區,請使用 ALTER USER 命令。ALTER USER ... 會SETTIMEZONE變更後續工作階段的時區,而不是目前工作階段的時區。
當您使用 SET timezone
(一個字) 命令搭配 TO
或 設定時區時=
,您可以將 time_zone 指定為時區名稱、 POSIX樣式格式偏移或 ISO-8601 格式偏移,如下所示。
SET timezone { TO | = } time_zone
當您使用不含 TO
或 SET的時區命令設定時區時=
,您可以使用 INTERVAL和時區名稱、 POSIX樣式格式偏移或 ISO-8601 格式偏移來指定 time_zone,如下所示。
SET time zone time_zone
時區格式
Amazon Redshift 支援以下時區格式:
-
時區名稱
-
INTERVAL
-
POSIX樣式時區規格
-
ISO-8601 偏移
由於時區縮寫,例如 PST或 PDT,定義為來自 的固定偏移UTC,且不包含日光節約時間規則,因此SET命令不支援時區縮寫。
請參閱以下內容,了解時區格式的詳細資訊。
時區名稱 – 完整的時區名稱,例如 America/New_York。完整時區名稱可能包含日光節約時間規則。
以下是完整時區名稱的範例:
-
Etc/Greenwich
-
America/New_York
-
CST6CDT
-
GB
注意
許多時區名稱,例如 EST、、MSTNZ 和 UCT,也是縮寫。
若要查看有效時區名稱的清單,請執行下列命令。
select pg_timezone_names();
INTERVAL – 來自 的偏移UTC。例如, PST是 –8:00 或 –8 小時。
以下是INTERVAL時區偏移的範例:
-
-8:00
-
–8 小時
-
30 分鐘
POSIX樣式格式 – 形式STDoffset或 中的時區規格STDoffsetDST,其中 STD 是時區縮寫,偏移是從 以西數小時為單位的數值偏移UTC,並且DST是選用的日光節約區域縮寫。日光節約時間假設為較給定偏移早一小時。
POSIX樣式時區格式使用 Greenwich 西部的正偏移,與使用 Greenwich 東部的正偏移的 ISO-8601 慣例不同。
以下是 POSIX樣式時區的範例:
-
PST8
-
PST8PDT
-
EST5
-
EST5EDT
注意
Amazon Redshift 不會驗證 POSIX樣式的時區規格,因此可以將時區設定為無效的值。例如,即使將時區設為無效值,下列命令不會傳回錯誤。
set timezone to ‘xxx36’;
ISO-8601 偏移 – 來自 UTC 的偏移,格式為 ±[hh]:[mm]
。
以下是 ISO-8601 偏移的範例:
-
-8:00
-
+7:30
範例
以下範例會將目前工作階段的時區設為 New York。
set timezone = 'America/New_York';
下列範例會將目前工作階段的時區設定為 UTC–8 (PST)。
set timezone to '-8:00';
下列範例使用 將時區INTERVAL設定為 PST。
set timezone interval '-8 hours'
下列範例會將目前工作階段的時區重設為系統預設時區 (UTC)。
set timezone to default;
若要設定資料庫使用者的時區,請使用 ... ALTER USER SET陳述式。以下範例會將 dbuser 的時區設為 New York。新值將在使用者的後續工作階段中延用。
ALTER USER dbuser SET timezone to 'America/New_York';