我有一个将数据从 OLEDB 源传输到 OLEDB 目标的 DFT。Source 有一个包含以下 CASE 语句的查询:
SELECT Case Gender
When 'M' Then 'M'
When 'F' Then 'F'
Else Case XX_GenderID
When 1 Then 'M'
When 5 Then 'F'
Else 'U'
End
End as IN_Gender
FROM TblA
当我在 SSIS 中运行 DFT 时,它有时会将目标中的传入“U”值从 TblA 更改为“9”。我不知道这个 9 是从哪里来的。但是当我在 SSMS 中测试这个查询时,它没有将 U 转换为 9。我还尝试在 SSIS 中手动执行该步骤,但它仍然没有转换 U 值。我不知道可能是什么原因造成的。有什么想法吗?