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