SSIS 条件拆分 NULL 处理

SSIS Conditional Split NULL handling

我尝试在比较记录后将 SSIS 条件拆分中的记录更新到目的地,但我卡在 NULL 值上。 我有一个包含 128 列的源 table,需要将其与目标进行比较以查找要更新的记录,不幸的是我无法将 NULL 值一起比较,否则条件的结果将为 False,因为它无法比较 NULL。有没有一种方法可以轻松比较将 NULL 值处理为字符串的源和目标记录或任何其他避免失败的方法?谢谢

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

如果source和destination都有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,然后再进行比较。