使用派生列转换编辑器验证日期列

时间:2013-04-24 08:09:20

标签: sql-server-2008 ssis

我有一个来自文本文件的列,它应该是一个日期,但可以是其他任何内容。

有时会出现“ NULL ”,有时会出现在日期。

我想在Derived Column Transformation Editor中编写一个表达式来验证:

  • 当它是“NULL”时 - > DT_DATE
  • 中为NULL
  • 当它的日期 - >转换为日期
  • 当它不是NULL或日期时 - >添加到错误表

到目前为止,我已经:

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

我添加了一个脚本组件来捕获Dervied Column Error Output,但它无法正常工作。当1行移动时,它不会将错误提交到错误表,其余的则输出到输出表(以输出错误结束)。

不确定是做什么的。有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:1)

试试这个: -

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

更新1: -

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