TO_TIMESTAMP_TZ
値を TIMESTAMP_TZ に変換し、UTC 時刻とタイムゾーンオフセットの両方を保持します。エラーの代わりに NULL を返したい場合は、TRY_TO_TIMESTAMP_TZ を使用します。
構文
TO_TIMESTAMP_TZ(<expr>)
<expr> には、ISO-8601 形式の文字列(YYYY-MM-DD、YYYY-MM-DDTHH:MM:SS[.fraction][±offset])、TIMESTAMP、または DATE を指定できます。
戻り値の型
TIMESTAMP_TZ
例
明示的なオフセットを含む文字列を解析する
SELECT TO_TIMESTAMP_TZ('2021-12-20 17:01:01.000000 +0000')::STRING AS utc_example;
┌──────────────────────────────────────────┐
│ utc_example │
├──────────────────────────────────────────┤
│ 2021-12-20 17:01:01.000000 +0000 │
└──────────────────────────────────────────┘
TIMESTAMP を昇格する
SELECT TO_TIMESTAMP_TZ(TO_TIMESTAMP('2021-12-20 17:01:01.000000'))::STRING AS from_timestamp;
┌──────────────────────────────────────────┐
│ from_timestamp │
├──────────────────────────────────────────┤
│ 2021-12-20 17:01:01.000000 +0000 │
└──────────────────────────────────────────┘
TIMESTAMP に戻す
SELECT TO_TIMESTAMP(TO_TIMESTAMP_TZ('2021-12-20 17:01:01.000000 +0800')) AS back_to_timestamp;
┌────────────────────────┐
│ back_to_timestamp │
├────────────────────────┤
│ 2021-12-20T09:01:01 │
└────────────────────────┘