我在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)))
答案 0 :(得分:2)
如果你的地址1为空,那么ISNULL(LEN(TRIM(地址1))将为真,但接着是真> 5将为真。 你需要单独处理空值;例如
ISNULL(Address1) || LEN(TRIM(Address1)) > 5
答案 1 :(得分:1)
就像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 )