SSIS派生列条件,以根据特定日期替换空值

时间:2017-07-05 22:43:51

标签: ssis derived-column

我正在开发一个SSIS包,它将使用其他SP列表中的数据填充SharePoint 2013列表。

我在包中创建了一个Derived Column,它旨在根据大于或等于数据列表中特定日期的日期替换null。但是,我在表达方面遇到了麻烦。以下是我遇到问题的条件和表达示例。

REPLACENULL(ColumnName,"mm/dd/yyyy" > = GETDATE()) 

任何帮助指出我做错了什么都表示赞赏。

2 个答案:

答案 0 :(得分:0)

REPLACENULL的语法是REPLACENULL(expression 1,expression 2)其中

表达式1: 将针对NULL检查此表达式的结果。

表达式2: 如果第一个表达式的计算结果为NULL,则返回此表达式的结果。

如果您尝试根据另一列的日期时间条件替换列的NULL值,请尝试以下操作:

[column_1] >= GETDATE() ? REPLACENULL([column_2],"desired value") : [column_2] 

答案 1 :(得分:0)

使用此表达式:

((DT_DATE)"9-1-2016") >=  (DT_DATE)ColumnName ? NULL((DT_WSTR, 50)) : ColumnName
  • 注意:REPLACENULL对您没有用。 REPLACENULL做的是:
      

    如果第一个表达式参数的值为NULL,则返回第二个表达式参数的值。(参见here

您不想替换NULL,而是想要NULL