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