我试图将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'), '毫米/日/年')
请帮忙
谢谢
用TO_DATE(RUN_DATE, 'YYYYMMDD')
替换所有东西
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,则只需相应地替换第二个参数。