Informatica提供了大量的常见的函数,如字符转换,字符串长度截取,日期转换等等。
在项目中遇到的就是日期转换的问题,SF中的日期格式是yyyyy-mm-dd hh:mm:ss
,而我们系统中的日期格式为TimeStamp,而且记录到毫秒级别,所以涉及到了两种日期格式的转换:
如上图,我们在一个Expression
中进行日期格式的转换,通过比较CreatedDate
与19700101 00:00:00.000
之间差的毫秒数,来得到TimeStamp类型的时间,表达式如下:
1
|
DATE_DIFF(CreatedDate, to_date(‘19700101 00:00:00.000‘,‘yyyymmdd hh24:mi:ss.ms‘),‘MS‘)
|
与上面类似,我们同样在一个Expression
中进行日期格式的转换,使用To_Date
函数将毫秒转化为DateTime类型,首先将creation_date
从字符串转为BIGINT
类型,在除以1000,转换成秒,第三个参数SS
代表的是秒,
1
|
ADD_TO_DATE(TO_DATE(‘19700101 00:00:00‘,‘yyyymmdd hh24:mi:ss‘), ‘SS‘, TO_BIGINT(creation_date)/1000 )
|
原文:http://www.cnblogs.com/fgcui/p/6431885.html