如何在表中检查SSIS中至少一个空值或常量值的每一行?

时间:2014-10-08 06:53:38

标签: ssis

我有一张包含20个字段的表格。

1)有没有办法检查所有字段是否为NULL?

2)对于nvarchar的所有列,我想搜索它们是否包含常量字符串值,例如"缺少"

我是否可以在SSIS中执行上述操作而无需逐个检查列?

1 个答案:

答案 0 :(得分:2)

没有Null-inator会检查一行中是否有任何列。但是,您可以连接行中的所有列,如果任何列为null,则结果将为null。因此,在派生列任务中,它可能如下所示:

Field1 + Field2 + (DT_WSTR, 50)Field3...

如field3所示,所有非字符串的字段都需要转换。

同样,您可以找到一个关键字,例如"缺少"通过连接派生列任务中的所有字段并使用FINDSTRING()。这可能是这样的:

FINDSTRING(Field1 + Field2, "Missing",1)

如果该值大于0,则表示您有一个匹配。但有一个缺点。鉴于您的列可以为空,您将需要对所有列进行空值处理,除非此测试仅在没有空值的行上执行。此外,它不会告诉您哪个列具有该值,因此除非您拒绝或隔离整行,否则这可能不是很有用。