我在SQL Code中的条件很小。如何在Derived列任务中的SSIS中编写它。
CASE WHEN SaleProduct IS NULL AND ReProduct IS NULL THEN ''
WHEN SaleProduct IS NOT NULL AND ReProduct IS NULL THEN SaleProduct
WHEN SaleProduct IS NULL AND ReProduct IS NOT NULL THEN SaleProduct
ELSE
SaleProduct +';'+ ReProduct END As COL
我尝试过以下表达但没有得到任何东西
(ISNULL( [SaleProduct] )&& [ReProduct] == "") : ? "0"
" ------------------------"
UNKNOWN
谁可以帮我这个事 ...
可以使用“派生”列转换中的“条件”运算符复制CASE语句。对于你的情况,表达式就像
((ISNULL(SaleProduct) == True && ISNULL(ReProduct) == True) ? " " :((ISNULL(SaleProduct) == False && ISNULL(ReProduct) == True)? SaleProduct :(ISNULL(SaleProduct) == True && ISNULL(ReProduct) == False)? SaleProduct : SaleProduct+";"+ReProduct)
你需要在Ternary operator转换中使用Derived column
:
了解和描述您的情况:
( ISNULL([SaleProduct]) && ISNULL([ReProduct]) ) ? " " :
( !ISNULL([SaleProduct]) && ISNULL([ReProduct]) ) ? [SaleProduct] :
( ISNULL([SaleProduct]) && !ISNULL([ReProduct]) ) ? [SaleProduct] : ( [SaleProduct]+";"+[ReProduct] )
但是标签会导致Derived column
转换错误。因此它实际应该是:
(ISNULL([SaleProduct]) && ISNULL([ReProduct])) ? " " : (!ISNULL([SaleProduct]) && ISNULL([ReProduct])) ? [SaleProduct] : (ISNULL([SaleProduct]) && !ISNULL([ReProduct])) ? [SaleProduct] : ([SaleProduct]+";"+[ReProduct])