AT TIME ZONE 関数 - Amazon Redshift

Amazon Redshift は、2025 年 11 月 1 日以降、新しい Python UDF の作成をサポートしなくなります。Python UDF を使用する場合は、その日付より前に UDF を作成してください。既存の Python UDF は引き続き通常どおり機能します。詳細については、ブログ記事を参照してください。

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