在ssis中使用派生列连接列

时间:2014-01-16 16:40:26

标签: ssis

我之前已经问过这个问题,我相信得到了正确答案,但我没有。

我想要实现的目标是Column 5

Column 1 Columns 2 Column 3 Column 4  Column 5
A        B         NULL      D         A|B|D
B                  C                   B|C
NULL     D         NULL     NULL       D 

我使用了派生列:

(DT_STR,50,1252)((Column1 == "" ? "" : Column1 + "|") + (Column2 == "" ? "" : Column2 + "|") +   (Column3 == "" ? "" : Column3 + "|") + (Column4 == "" ? "" : Column4))

但我结束了:

Column 1 Columns 2 Column 3 Column 4  Column 5
A        NULL      NULL      D        NULL

如果我得到NULL,则整体答案为NULL

2 个答案:

答案 0 :(得分:0)

=== 嗨尝试使用

ISNULL(Value) ? " " : Value
每列

马里奥

答案 1 :(得分:0)

试试这个:

(DT_STR,50,1252)((Column1 == "" || isnull(Column1) ? "" : Column1 + "|") + 
                 (Column2 == "" || isnull(Column2) ? "" : Column2 + "|") +   
                 (Column3 == "" || isnull(Column3) ? "" : Column3 + "|") + 
                 (Column4 == "" || isnull(Column4) ? "" : Column4))