为什么 SSIS 条件拆分包括不需要的数据,而不考虑条件



>我在SSIS Conditional Split中设置了以下条件,将所有无效地址发送到输出名称InvalidOutput

但是,我不断得到一些地址与Null Address1 column.我不知道为什么。

ISNULL(LEN(TRIM(Address1)) > 5) || 
ISNULL(LEN(TRIM(ZipCode)) == 5) || 
ISNULL(LEN(TRIM(City)) >= 5) || 
ISNULL(LEN(TRIM(Province)))

如果你的地址1为空,那么ISNULL(LEN(TRIM(ADDRESS1))将为True,但True>5将不是True。您需要将空值分开处理;例如

ISNULL(Address1) || LEN(TRIM(Address1)) > 5

就像Jayvee说的,你必须分开对待你的病情(在ISNULL和其他控件之间分开),你的病情将变成这样:

ISNULL(LEN(TRIM(Address1)) > 5) || 
ISNULL(LEN(TRIM(ZipCode)) == 5) || 
ISNULL(LEN(TRIM(City)) >= 5) || 
ISNULL(LEN(TRIM(Province)))

成为:

(ISNULL(Address1) || LEN(TRIM(Address1)) <= 5) || 
(ISNULL(ZipCode) || LEN(TRIM(ZipCode)) != 5) || 
(ISNULL(City) || LEN(TRIM(City)) < 5) || 
(ISNULL(Province) || LEN(TRIM(Province)) = 0 )

最新更新