数据源为 SQLServer 数据库,且源字段 varchar 类型。需要抽取到 Oracle 数据库中,并且转换为 date 类型。
由于源表和目标表是两种不同的数据库,且数据类型不同,所以无法在源表限定转换器中写 SQL 查询语句直接转换。只能通过增加一个表达式组件进行转换。
转换流程如下:
如上图,在源表限定器后面添加一个表达式组件,将字段拖进去后,然后双击打开,添加一个新的日期类型的字段,旧字段取消输出选项的打勾,新字段只勾选输出选项,并编辑表达式:
编辑表达式时,可以选用诸多 Informatica 内置的函数。这些函数与 Oracle 内置的函数很相似,与 SqlServer 内置的函数在名称上稍有区别,但作用都是一样的,看一遍 API 稍微熟悉一下即可。但这些 Informatica 内置函数功能还是较少,有时候遇到复杂的数据清洗,需要多个函数结合使用,或者借助其他手段如存储过程等,来达到最终的目的。
完成表达式组建的编辑,再将字段一一映射到目标表,即可保存并 check in 检测结果。
更多参考文章:
Informatica PowerCenter 常用转换组件一览表
Informatica 转换组件之表达式转换
mysql、oracle、sqlserver 字符串、日期互转以及拼接