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

Teradata v17中如何将带AM/PM的VARCHAR转换为24小时制TIMESTAMP

问题解决:VARCHAR转TIMESTAMP报错“Format code appears twice”

你的报错原因很明确:格式字符串里MM重复了——第一个MM用来表示月份,但分钟的格式码应该是MI,不是MM,数据库识别到重复的格式码就会抛出错误。

修正方案1:转成带AM/PM的TIMESTAMP

把分钟的格式码改成MI即可:

SELECT itab.*, 
TO_TIMESTAMP(Start_Date, 'MM/DD/YYYY HH:MI:SS AM') AS start_TS
FROM db.info_table itab

修正方案2:转成24小时制的TIMESTAMP

如果想要直接解析为24小时制的时间戳,把小时格式码换成HH24即可(注意不需要再写AM):

SELECT itab.*, 
TO_TIMESTAMP(Start_Date, 'MM/DD/YYYY HH24:MI:SS') AS start_TS_24h
FROM db.info_table itab

补充说明:你的原始日期字符串里月份、日期是单数字(比如8/3/2022),MM/DD格式码会自动兼容单/双位的数字,不需要额外调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 04:15:47