我在文本文件中有一列,其日期如下:20131207
。
我试图将这个日期转换成这样但我尝试过的所有内容都失败了。
这是我的代码:我已多次修改它以解决此问题。
(LEN(TRIM(MyDate)) < 8) || (TRIM(MyDate) == " ") ||
(ISNULL(MyDate)) ? NULL(DT_DBDATE) :
(DT_DBDATE)(SUBSTRING(TRIM(MyDate),1,4) + "-" +
SUBSTRING(TRIM(MyDate),5,2) + "-" + SUBSTRING(TRIM(MyDate),7,2))
我哪里错了?
我在 Flat Source Task 中检查了保留空值。
更新:以下是错误消息:
The conditional operation failed.
The "Rename Columns (My_Table)" failed because error code 0xC0049063 occurred,
and the error row disposition on "Rename Columns (My_Table).Outputs[Derived
Column Output].Columns[MyDate]" specifies failure on error. An error occurred
on the specified object of the specified component. There may be error
messages posted before this with more information about the failure.
我需要将文本文件中的数据转换为日期,从20131207
转换为2013-12-07
但是如果文本文件中的数据长度小于8或者不能,则我想插入null转换为日期。
答案 0 :(得分:1)
试试这个:
添加一个新的平面文件源,然后添加一个派生列,然后在表达式中执行此操作
`LEFT(date,4) + "-" + SUBSTRING(date,5,2) + "-" + RIGHT(date,2)`
包裹:
输出如下:
答案 1 :(得分:0)
修剪(MyDate)==“”应修剪(MyDate)==“”