timezone - Amazon Redshift

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

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';