📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

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 │ └────────────────────────┘

文档内容是否有帮助?