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
,然后再进行比较。
我尝试在比较记录后将 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
,然后再进行比较。