Informatica日期转换问题

Informatica提供了大量的常见的函数,如字符转换,字符串长度截取,日期转换等等。
在项目中遇到的就是日期转换的问题,SF中的日期格式是yyyyy-mm-dd hh:mm:ss,而我们系统中的日期格式为TimeStamp,而且记录到毫秒级别,所以涉及到了两种日期格式的转换:

从 DateTime类型转换为TimeStamp类型

datetime-to-timestamp

如上图,我们在一个Expression中进行日期格式的转换,通过比较CreatedDate19700101 00:00:00.000之间差的毫秒数,来得到TimeStamp类型的时间,表达式如下:

1
DATE_DIFF(CreatedDate, to_date('19700101 00:00:00.000','yyyymmdd hh24:mi:ss.ms'),'MS')

从TimeStamp类型转为DateTime类型

timestamp-to-datetime

与上面类似,我们同样在一个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 )
posted @ 2017-02-23 09:10  程序员小崔  阅读(1779)  评论(0编辑  收藏  举报