我有一张包含20个字段的表格。
1)有没有办法检查所有字段是否为NULL?
2)对于nvarchar的所有列,我想搜索它们是否包含常量字符串值,例如"缺少"
我是否可以在SSIS中执行上述操作而无需逐个检查列?
答案 0 :(得分:2)
没有Null-inator会检查一行中是否有任何列。但是,您可以连接行中的所有列,如果任何列为null,则结果将为null。因此,在派生列任务中,它可能如下所示:
Field1 + Field2 + (DT_WSTR, 50)Field3...
如field3所示,所有非字符串的字段都需要转换。
同样,您可以找到一个关键字,例如"缺少"通过连接派生列任务中的所有字段并使用FINDSTRING()。这可能是这样的:
FINDSTRING(Field1 + Field2, "Missing",1)
如果该值大于0,则表示您有一个匹配。但有一个缺点。鉴于您的列可以为空,您将需要对所有列进行空值处理,除非此测试仅在没有空值的行上执行。此外,它不会告诉您哪个列具有该值,因此除非您拒绝或隔离整行,否则这可能不是很有用。