我有一个包含两列的源表 - Sndr_Ref 和 Check_Num
我有一个包含一列的目标表 - Txn_Code (nvarchar(50),null)
这是我需要实现的逻辑 -
- 如果 Sndr_Ref = [某个值] 并且 Check_Num = null,则加载 Txn_Code = 10
- 如果 Check_Num = [某个值] 且 Sndr_Ref = null,则加载 Txn_Code = 2
- 如果 Sndr_Ref 和 Check_Num = [某个值],则加载 Txn_Code = 10
- 如果 Sndr_Ref 和 Check_Num = Null,则加载 Txn_Code = Null
我在映射到 Txn_Code 的 SSIS 包中创建了一个派生列。这是我的派生列的表达式-
Sndr_Ref == "" ? (Check_Num == "" ? (DT_WSTR,50)NULL(DT_WSTR,50) : "2") : "10"
上面的表达式是在所有记录中插入 10。没有插入空值或 2。我检查了源表,目标列中应该有一些包含 10、2 和空值的记录。我刚刚发现我的源参考列(Sndr_Ref 和 Check_Num)有宽空间。您能否帮助我如何在上述逻辑中修剪这些宽空间并将值设置为 null 如果它们是空白的?