我有一个包含两列的源表--Sndr_Ref和Check_Num
我有一个包含一列的目标表 - Txn_Code(nvarchar(50),null)
这是我需要实现的逻辑 -
我在SSIS包中创建了一个派生列,我将其映射到Txn_Code。这是我的派生列的表达式 -
Sndr_Ref == "" ? (Check_Num == "" ? (DT_WSTR,50)NULL(DT_WSTR,50) : "2") : "10"
上面的表达式是在所有记录中插入10。没有插入空值或2。我检查了源表,目标列中应该有一些记录包含10,2和null。我刚刚发现我的源参考列(Sndr_Ref和Check_Num)具有宽空间。请问如何在上面的逻辑中修剪那些宽空间,如果它们是空白的话,将值设置为null?
答案 0 :(得分:0)
不确定您的源数据,但我猜您可能还需要检查空值:
ISNULL(Sndr_Ref) || TRIM(Sndr_Ref) == "" ? (ISNULL(Check_Num) || TRIM(Check_Num) == "" ? (DT_WSTR,50)NULL(DT_WSTR,50) : "2") : "10"