微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Informatica IICS 中同一列的不同日期格式

如何解决Informatica IICS 中同一列的不同日期格式

我正在以 JSON 格式从 rest API 获取数据,并且有一个场景,其中一列可以具有多种日期格式。当前日期格式可以是 2011-02-12T01:00:002020-04-15T20:44:57.38,也可以是 null 或其他格式。

我想通过表达式解析它并尝试捕获完整的日期字符串。下面的表达式似乎工作正常,但它截断了毫秒部分并只返回到秒的值。

iif(isnull(%date_fields%),'\N',to_char(To_date(to_char(%date_fields%),'MM/DD/YYYY HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS'))

但是当我在下面的表达式中使用毫秒 usinf 尝试它时:

iif(isnull(%date_fields%),'MM/DD/YYYY HH24:MI:SS.MS'),'YYYY-MM-DD HH24:MI:SS.MS'))

它正在抛出错误

TT_11132 Transformation [Expression3] had an error evaluating output column [JobStartDate_out]. 
Error message is [<<Expression Error>> [TO_DATE]: invalid string for converting to Date 
... t:TO_DATE(u:TO_CHAR(t:<02/12/2011 01:00:00>,u:'MM/DD/YYYY HH24:MI:SS'),u:'MM/DD/YYYY HH24:MI:SS.MS')]. 

我在下面搜索了几个选项,但出现解析错误

DECODE (TRUE,iff(isnull(%date_milli%),is_date(To_date(to_char(%date_milli%),'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS.MS'),ERROR('NOT A VALID DATE')))

informatica 中处理多日期格式的可能解决方案是什么?这里 JSON 日期格式是字符串,我将它映射到日期/时间类型并使用输出 marco 字段将多个相似的列组合在一起。

解决方法

为什么不检查两个选项 - 有和没有毫秒? 您可以使用以下 iif 条件。另外我认为你的表达有一些问题。 我假设 date_milli 是一种字符类型。如果是日期,那么您可以相应地更改以下表达式。

iff(isnull(%date_milli%),null,iif( is_date(to_char(%date_milli%),'MM/DD/YYYY HH24:MI:SS'),to_date(to_char(%date_milli%),'MM/DD/YYYY HH24:MI:SS.MS'),'MM/DD/YYYY HH24:MI:SS.MS')
))
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?