1

尝试将来自 csv 平面文件 (2012-04-03 3:43:00 PM) 的日期值转换为正常时间戳值 (YYYY-MM-DD HH24:MM:SS - 没有 AM 或 PM)。

DECODE (TRUE,
is_date(Extract_LAIB_LastCCVRefreshDate__c, 'YYYY-MM-DD HH:MM:SS AM'), to_date(Extract_LAIB_LastCCVRefreshDate__c, 'YYYY/MM/DD HH24:MM:SS'),
is_date(Extract_LAIB_LastCCVRefreshDate__c, 'YYYY-MM-DD HH:MM:SS PM'), to_date(Extract_LAIB_LastCCVRefreshDate__c,'YYYY/MM/DD HH24:MM:SS'), 
ERROR( 'NOT A VALID DATE') )

上面的函数给了我无效的表达式错误,我该如何解决这个问题?

4

1 回答 1

1

请先使用它转换为日期时间。然后您可以转换为 char 格式的任何内容。

1. v_temp_dttm1 =  DECODE (TRUE,
is_date(Extract_LAIB_LastCCVRefreshDate__c, 'YYYY-MM-DD HH:MI:SS AM'), to_date(Extract_LAIB_LastCCVRefreshDate__c, 'YYYY-MM-DD HH:MI:SS AM')
)

2. out_temp_dttm1 = to_char(v_temp_dttm1,'YYYY/MM/DD HH24:MI:SS')

我使用 informatica 测试了上述公式,这是输出。我使用 mm/dd/yyyy 作为输出格式。
在此处输入图像描述

于 2021-02-05T18:06:16.643 回答