You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Teradata中如何将自定义格式时间字符串转为TIMESTAMP(0) WITH TIME ZONE

Teradata时间戳转换:解决自定义时区格式的报错问题

你碰到的「Invalid Timestamp」错误,核心原因是格式字符串里的时区符BZ和输入字符串的时区格式不匹配。BZ对应的是带冒号的5位时区偏移(比如+09:00),而你的输入是不带冒号的4位偏移+0900,需要改用TZ格式符——它专门匹配±HHMI样式的时区偏移。

修正后的SQL语句如下:

CAST('27/Mar/2023:15:36:58 +0900' AS TIMESTAMP(0) WITH TIME ZONE FORMAT 'DD/MMM/Y4:HH:MI:SSTZ')

关于能否为CAST函数传入自定义时区小时格式:

  • Teradata的CAST函数FORMAT子句里,时区相关的格式符是预定义的,无法完全自定义格式规则,但可以根据输入的时区样式选择对应格式符:
    • TZ:适配不带冒号的4位时区偏移(如+0900、-0500)
    • BZ:适配带冒号的5位时区偏移(如+09:00、-05:00)
    • ZH:单独提取时区小时部分(如+09)
    • ZM:单独提取时区分钟部分(如00)

如果你的时区格式更特殊(比如仅包含小时数,如+09),可以组合ZH这类格式符来适配,但不能随意自定义格式规则。

内容的提问来源于stack exchange,提问作者curious_nustian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:43:22