如何在SSIS派生列中转换SQL Server列值:2→active、4→closd、5→inactv
在SSIS中通过派生列将数值转换为指定文本值
以下是具体操作步骤:
- 在SSIS的数据流任务中,从工具箱拖拽「派生列」组件到设计界面,将上游数据源组件的输出连接到该派生列组件。
- 双击打开派生列编辑器:
- 在「派生列」下拉框选择「添加新列」,输入自定义的新列名称(比如
StatusText)。 - 在「表达式」输入框编写多条件转换逻辑,推荐用
SWITCH函数简化多值判断,语法如下:
说明:把SWITCH([你的原数值列名] == 2, "active", [你的原数值列名] == 4, "closd", [你的原数值列名] == 5, "inactv", "unknown")[你的原数值列名]替换成实际列名;最后的"unknown"是原列值不在2、4、5范围内时的默认值,可根据实际需求修改或移除(若确定只有这三个值,也可以只保留前三个条件)。 - 在「数据类型」下拉框选择合适的字符串类型,比如
DT_WSTR(Unicode字符串)或DT_STR(非Unicode),长度设置为能容纳目标文本即可(比如10)。
- 在「派生列」下拉框选择「添加新列」,输入自定义的新列名称(比如
- 配置完成后点击「确定」,运行数据流任务就能看到转换后的文本值直接展示在新列中。
内容的提问来源于stack exchange,提问作者Dheeraj
相关产品推荐
相关产品推荐

