SSIS条件拆分NULL处理

时间:2017-04-20 12:59:00

标签: sql-server ssis conditional-split

我试图在比较它们之后将SSIS条件拆分中的记录更新到目的地,但我坚持使用NULL值。 我有一个128列的源表需要与目标进行比较以查找要更新的记录,遗憾的是我无法将NULL值一起比较,或者条件的结果将为False,因为它无法比较NULL。有没有办法轻松比较处理NULL值的源和目标记录作为字符串或任何其他方式,以避免失败?感谢

1 个答案:

答案 0 :(得分:1)

尝试使用ISNULL(column,'NULL')与字符串NULL进行比较,而非实际NULL

如果源和目标都有NULL,则需要在两侧添加ISNULL,例如ISNULL(Source_col,'NULL') = ISNULL(Target_col,'NULL')

此外,如果您不需要比较那些NULL,则可以先筛选出NULL,然后在运行时为您提供更好的性能。

例如,您可以条件分割来源where col is not null并设置目标select * From table where col1 is not null and col2 is not null等。

<强>更新

在您的情况下,它将是:

(ISNULL(SRC_ACT_PLN,'NULL') == ISNULL(DST_ACT_PLN,'NULL'))(其他人也一样),但请注意,如果来源和目的地都是NULL,它仍会以TRUE的形式返回,否则,请执行我的建议上面,首先处理(过滤掉)NULL然后进行比较。