SSIS 如何获取字符串的一部分变量中的名称值标记

问题描述

我有三个变量:

  1. “v_LocationsByCode”,值为以下。

Code1="location1";Code2="location2";

  1. "v_Code" 的值为 Code1 或 Code2(如果 v_LocationsByCode 具有,则为 Code3,等等)
  2. “v_Location”这是一个带表达式的变量,它的值将根据“v_Code”的值使用

所以:

If v_Code is "Code1" then v_Location should be "location1"
Else If v_Code is "Code2" then v_Location should be "location2"
Else If ...
Else ""

你能帮我表达一下吗(没有硬编码)? 我能够在 sql 中使用一堆 substring()、charindex() 和 len() 来做到这一点,但是 SSIS 表达式没有 charindex()。它有 findstring() 但缺少“起始位置”。

解决方法

您在 v_Location 中的表达式应如下所示:

@[User::v_Code]=="location1"? "location1" : "location2"

enter image description here