- カテゴリ:
CONVERT_TIMEZONE¶
タイムスタンプを別のタイムゾーンに変換します。
構文¶
引数¶
source_tz入力タイムスタンプのタイムゾーンを指定する文字列です。タイムゾーンのないタイムスタンプに必要です(つまり、 TIMESTAMP_NTZ)。
target_tz入力タイムスタンプの変換先のタイムゾーンを指定する文字列です。
source_timestamp_ntz3引数バージョンで、変換するタイムスタンプを指定する文字列です(TIMESTAMP_NTZにする必要があります)。
source_timestamp2引数バージョンで、変換するタイムスタンプを指定する文字列です( TIMESTAMP_NTZを含む任意のタイムスタンプバリアントです)。
戻り値¶
型 TIMESTAMP_NTZ、 TIMESTAMP_TZ、または NULL の値を返します。
3引数バージョンでは、 TIMESTAMP_NTZ 型の値を返します。
2引数バージョンでは、 TIMESTAMP_TZ 型の値を返します。
いずれかの引数が NULL の場合、 NULL を返します。
使用上の注意¶
出力のタイムスタンプの表示形式は、現在のセッションの タイムスタンプ出力形式 と返されるタイムスタンプ値のデータ型によって決定されます。
3引数バージョンの場合、結果の「wallclock」時間(現実世界の経過時間)は、入力タイムゾーンの入力「wallclock」と同じ時間を表しますが、ターゲット先のタイムゾーンにあります。
2引数バージョンの場合、
source_timestamp引数には通常タイムゾーンが含まれます。値が TIMESTAMP_TZ型の場合、タイムゾーンはその値から取得されます。それ以外の場合は、現在のセッションのタイムゾーンが使用されます。source_tzとtarget_tzの場合は、 IANA タイムゾーンデータベース のリリース 2025b から タイムゾーン名 または リンク名 を指定できます(例:America/Los_Angeles、Europe/London、UTC、Etc/GMTなど)。注釈
タイムゾーン名は大文字と小文字が区別され、一重引用符で囲む 必要があります (例:
'UTC')。Snowflakeは、タイムゾーンの 略語 の大半を サポートしていません (例:
PDT、EST)。特定の略語は、いくつかの異なるタイムゾーンの1つを参照している可能性があるためです。たとえば、CSTは、北米の中部標準時(UTC-6)、キューバ標準時(UTC-5)、および中国標準時(UTC+8)を指す場合があります。
例¶
例で返されるタイムスタンプにデフォルトの タイムスタンプ出力フォーマット を使用するには、現在のセッションで TIMESTAMP_OUTPUT_FORMAT パラメーターの設定を解除します。
ソースタイムゾーンを指定する例¶
以下の例では、 CONVERT_TIMEZONE 関数の3引数バージョンを使用し、 source_tz 値を指定しています。これらの例は TIMESTAMP_NTZ 値を返します。
ロサンゼルスの「wallclock」時間をニューヨークの「wallclock」時間に変換します。
ワルシャワの「wallclock」時間を UTC で一致する「wallclock」時間に変換します。
送信元のタイムゾーンを指定しない例¶
以下の例では、 CONVERT_TIMEZONE 関数の2引数バージョンを使用しています。これらの例は TIMESTAMP_TZ 値を返します。したがって、返される値には、タイムスタンプのタイムゾーンと協定世界時(UTC)との差を示すオフセットが含まれます。例えば、 America/Los_Angeles タイムゾーンは、 -0700 のオフセットがあり、 UTC から7時間遅れていることを示します。
TIMESTAMP_TZ 値を指定する文字列を異なるタイムゾーンに変換します。
異なるタイムゾーンにおける現在の「wallclock」時間を表示します。