在informatica中将日期从字符串转换为日期时间

时间:2016-12-02 15:20:18

标签: informatica-powercenter

我在将日期从字符串转换为DateTime时遇到问题。 例如,我有来自Source的输入字段作为coverage_end_dt为01/31/2018使用变量Port我将其转换为:

sub str(COVERAGE_END_DT,1,2) || sub str(COVERAGE_END_DT,4,2)||substr(COVERAGE_END_DT,7,4)

这就像我删除日期字段中的所有斜杠和输出端口的日期时间为:

IIF(NOT ISNULL(v_COVERAGE_END_DT),TO_DATE(v_COVERAGE_END_DT,'MMDDYYYY'),NULL)

但我收到的错误是:

  

Transformation [exp_Format_C360_Data]评估输出时出错   专栏[o_INFO_RECEIVED_DT]。

错误讯息是

  

并[d> [TO_DATE]:转换为Date的无效字符串   ... t:TO_DATE(s:' 01011900',s:' MM / DD / YYYY')]。

与另一个字段相同的问题,输入提交end_tms为11/15/2016 04:39:25

我将变量端口转换为:

substr(END_TMS,1,2) || substr(END_TMS,4,2)||substr(END_TMS,7,4)||substr(END_TMS,12,2)||substr(END_TMS,15,2)||substr(END_TMS,18,2)

输出端口为:

IIF(NOT ISNULL(END_TMS),TO_DATE( v_END_TMS, 'MMDDYYYYHH:MI:SS'),NULL) 

和我的错误

  

Transformation [exp_Format_C360_Data]评估输出时出错   专栏[o_INITIAL_DECISION_TMS]。

错误讯息是

  

并[d> [TO_DATE]:无效字符串,用于转换为日期... t:TO_DATE(s:' 1115201604381​​8',s:' MM / DD / YYYY HH:MI:SS')]。

0 个答案:

没有答案