1

在 SSIS 中,我想使用条件拆分来过滤 Country ="USA"。这可以正常工作并过滤表。但是现在我想在结果 OLE DB 目的地中将“USA”解码为“United States Of America”。我在哪里可以给出条件。

4

1 回答 1

1

选项1

如果您只有 1 或 2 个值要解码,请添加派生列转换并使用诸如County=="USA"? "United States of America" : "Unknown"嵌入超过 2 个三元运算符之类的逻辑?:可以提高可读性,从而成为维护的噩梦

选项 2

使用查找转换来提供您的翻译。如果您没有真正的映射表,只需创建一个派生表,例如

SELECT D.Country, D.Name
FROM
(
    SELECT 'USA', 'United States of America'
    UNION ALL SELECT 'CAN', 'Canada'
    UNION ALL SELECT 'ROU', 'Romania'
) D (Country, Name)

然后将国家映射到国家并选择名称

选项 3

使用脚本任务来执行相同的翻译,除了我会使用类似SortedDictionary from的东西System.Colllections.Generic.SortedDictionary<string,string>进行查找。

于 2013-06-10T13:54:00.587 回答