如何在SSIS包的日期派生列中允许“ 0”值

时间:2018-10-10 06:32:35

标签: ssis

在SSIS软件包中,我使用带有日期列的平面文件源,并且某些日期的值为 0 。日期列格式为child_view.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View arg0, MotionEvent arg1) { // your code here. return true; } }); ,我正在派生列中将其转换为YYYYMMDD格式。如果该日期存在,则该日期正在转换,但是如果日期为 0 ,则该日期会出错。源文件日期数据类型为YYYY-MM-DD,目标SQL表字段数据类型为DT_STR

请提出允许在派生列中使用零值的逻辑。我正在使用以下逻辑。

smalldatetime

2 个答案:

答案 0 :(得分:0)

您可以尝试将(DT_Date)替换为(DT_DBDATE)吗?

  

[日期] == 0? NULL(DT_DBDATE):...

答案 1 :(得分:0)

您正在混合数据类型。 [日期]是一个字符串,不能与0进行比较。

尝试一下:

[Date] == "0" ? NULL(DT_DATE) : (DT_DATE)   (SUBSTRING([Date],1,4) + "-" + SUBSTRING([Date],5,2) + "-" + RIGHT([Date],2))