我有一个平面文件,它以str(固定delimeted)形式出现,包含如下数据:“20130505”或“0”(只有一位数)。我的目的地必须是约会。我通过派生列创建子字符串并将日期转换为如下所示:
(2013-04-05):
ISNULL(FIELD_1519_Out) ? (DT_DBDATE)(SUBSTRING(FIELD_1519,1,4) + "-" +
SUBSTRING(FIELD_1519,5,2) + "-" + SUBSTRING(FIELD_1519,7,2)) : (DT_DBDATE)
(SUBSTRING(FIELD_1519_Out,1,4) + "-" + SUBSTRING(FIELD_1519_Out,5,2) + "-" +
SUBSTRING(FIELD_1519_Out,7,2)).
我的问题是如何将“0”转换为请求的长度才能将其转换为日期?由于只有一个数字 - “0”'我不能继续使用相同的逻辑子串。
由于
答案 0 :(得分:0)
请参阅下面的示例,这可能会对您有所帮助。我的源数据如下所示。[yourDate]列是VARCHAR(8)
我开发了一个SSIS包,如下所示。数据查看器的输出是专用列提供的内容。
派生列内容。
(DT_STR,8,1252)RIGHT(("0000000" + yourDate),8)
你在DFT中使用这样的派生列。我仍然不确定,这是否是你要找的,