继续获取informatica函数错误无效字符串转换为日期

问题描述 投票:0回答:2

我试图将nvarchar转换为日期,但我一直在下面得到这个错误

TT_11132转换[表达式]在评估输出列[Run_Date1]时出错。错误信息是[<> [TO_DATE]:无效字符串,用于转换为Date ... t:TO_DATE(u:'20190304',u:'MM / DD / YYYY HH24:MI:SS')]。

但我的功能不包括'MM / DD / YYYY HH24:MI:SS'。这是我的功能供参考。

TO_DATE(TO_CHAR(TO_DATE(RUN_DATE), 'MMDDYYYY'), '毫米/日/年')

请帮忙

谢谢

function datetime informatica to-date to-char
2个回答
0
投票

TO_DATE(RUN_DATE, 'YYYYMMDD')替换所有东西


1
投票

Samik是对的,只需使用TO_DATE(RUN_DATE, 'YYYYMMDD')

我想补充的是为什么你的功能错误的一些解释。所以从内心剥离它:

to_date(RUN_DATE)

将RUN_DATE字符串转换为DATE,尝试猜测格式,因为它尚未给出。让我们把它的结果称为NewDate并进一步分析:

TO_CHAR(NewDate,'mmddyyyy')

现在,这将把NewDate转换为mmddyyyy格式的字符串。让我们把这个称为NewString_MMDDYYYY,看看它给我们带来了什么。这使最终的功能如下:

TO_DATE(NewString_MMDDYYYY,'mm/dd/yyyy')

看到错误了吗?您告诉Informatica将NewString_MMDDYYYY转换为日期。并告诉函数它是用mm/dd/yyyy格式编写的 - 显然没有使用,因为TO_CHAR函数被告知将它存储在mmddyyyy中。

所以,如果你的输入qazxsw poi是qazxsw poi格式,那么你需要做的就是RUN_DATE。如果YYYYMMDD使用了另一个formati,则只需相应地替换第二个参数。

© www.soinside.com 2019 - 2024. All rights reserved.