Informatica中DD-MON-YY转DD-MM-YY格式转换出错问题咨询
Informatica 日期格式转换问题解决
核心问题定位
你用To_date(col, DD-MM-YY)报错,根源是格式参数未加单引号,且源字符串是DD-MON-YY格式,To_date的格式参数必须与源格式匹配,不能直接写入目标格式。
正确操作步骤
1. 将源字符串转为日期类型
源数据是DD-MON-YY格式的字符串(例如15-FEB-24),正确的日期转换表达式为:
To_date(你的源字段名, 'DD-MON-YY')
这一步可将字符串成功转为Informatica的日期/时间类型,直接解决报错问题。
2. 输出DD-MM-YY格式结果
分两种场景处理:
- 如果输出端口为日期/时间类型:日期类型本身不存储格式,仅存储日期值。只要上述
To_date转换正确,后续若需显示为DD-MM-YY,可通过会话配置或目标端的显示设置调整。 - 如果需要输出字符串类型的DD-MM-YY格式:先转日期再用
To_char格式化,表达式为:
To_char(To_date(你的源字段名, 'DD-MON-YY'), 'DD-MM-YY')
此时需将输出端口的数据类型设置为字符串。
常见坑点提醒
- 格式参数必须用单引号包裹:
To_date的第二个参数是字符串格式,不加单引号会被识别为字段名,直接触发报错。 - 勿混淆
To_date与To_char用途:To_date用于字符串转日期,To_char用于将日期转为指定格式的字符串,搞反会生成错误数据。
内容的提问来源于stack exchange,提问作者sun prashanthkumar
相关产品推荐
相关产品推荐

