Ssis 如何在SSI中检查表中的每一行是否至少有一个空值或常量值?

Ssis 如何在SSI中检查表中的每一行是否至少有一个空值或常量值?,ssis,Ssis,我有一张有20个字段的桌子 1) 有没有办法检查所有字段是否为空 2) 对于所有nvarchar列,我希望搜索它们是否包含常量字符串值,例如“Missing” 我可以在SSIS中执行上述操作,而不必逐个检查列吗?没有Null inator可以检查行中的任何列是否为Null。但是,您可以连接行中的所有列,如果任何列为null,则结果将为null。因此,在派生列任务中,它可能如下所示: Field1 + Field2 + (DT_WSTR, 50)Field3... FINDSTRING(Fiel

我有一张有20个字段的桌子

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

2) 对于所有nvarchar列,我希望搜索它们是否包含常量字符串值,例如“Missing”


我可以在SSIS中执行上述操作,而不必逐个检查列吗?

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

Field1 + Field2 + (DT_WSTR, 50)Field3...
FINDSTRING(Field1 + Field2, "Missing",1)
如字段3所示,所有非字符串字段都需要转换

类似地,您可以通过连接派生列任务中的所有字段并使用FINDSTRING()来查找关键字,如“missing”。可能是这样的:

Field1 + Field2 + (DT_WSTR, 50)Field3...
FINDSTRING(Field1 + Field2, "Missing",1)

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

只是想知道到目前为止你都做了些什么?我可以想出3个你可以使用的选项<代码>1。使用SQL预先确定是否存在空值或缺少值,
2。派生列任务,用于检查要派生的列是否为NULL或缺少
3。为要检查的组件任务编写脚本
。可能还有其他选择,所以我想这取决于您的要求。@t\m我可以想到所有这些,但我不想逐个检查所有字段。