跳到主要内容

TO_TIMESTAMP_TZ

将一个值转换为 TIMESTAMP_TZ,同时保留 UTC 瞬时点和时区偏移。如果你希望在出错时返回 NULL 而不是报错,请使用 TRY_TO_TIMESTAMP_TZ

语法

TO_TIMESTAMP_TZ(<expr>)

<expr> 可以是 ISO-8601 格式的字符串(YYYY-MM-DDYYYY-MM-DDTHH:MM:SS[.fraction][±offset])、TIMESTAMPDATE

返回类型

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
└────────────────────────┘
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验