2013-04-24 89 views
1

我有一個來自應該是日期的文本文件的列,但可以是其他任何東西。使用派生列轉換編輯器驗證日期列

有時它來作爲「NULL」,有時作爲日期。

我想寫在派生列轉換編輯器的表達式驗證:

  • 時,它的「NULL」 - > NULL在DT_DATE
  • 時,它的日期 - >轉換爲日期
  • 時,它不是空或日期 - >添加到連接錯誤表

到目前爲止我有:

MyColumn == "NULL" ? (DT_STR,255,1252)NULL(DT_DATE) : MyColumn 

我已經添加了一個腳本組件來捕獲派生列錯誤輸出,但它無法正常工作。當1行通過時,它不會將錯誤提交給錯誤表,將其餘錯誤提交到輸出表(以輸出錯誤結束)。

不確定是做什麼的。有什麼建議麼?

謝謝。

回答

1

試試這個: -

(MyColumn=="NULL")|| (ISNULL(MyColumn)) ? NULL(DT_DATE) : MyColumn 

更新1: -

(MyColumn=="NULL") || (MyColumn(Name)) ? NULL(DT_DATE) :(DT_DATE)MyColumn 
+0

感謝。忘了我認爲源是varchar(255)。因此,無論如何都需要將其轉換爲dt_date。 – mikimr 2013-04-25 01:14:09

+0

感謝Parveen。試過這個,DCT編輯不喜歡'||'出於某種原因,所以不會建立。 – mikimr 2013-04-29 04:17:34

+0

上述表達式在SSIS中的「派生列」中工作得很好 – praveen 2013-04-29 04:22:30