SSIS派生列转换

时间:2014-07-29 18:31:23

标签: ssis

我正在尝试开发一个包含字符串的包(格式为1.02.3.04或01.02.03.4以及许多其他排列)并根据以下规则对其进行修改

  1. 如果第二个字符是“。”然后用0填充第一组 FINDSTRING([mycolname],“。”,1)返回第一个“。”的位置。并且对于2的所有值然后应用此规则并修改字符串,例如,如果1.2.3.4将返回2,则字符串应为01.2.3.4

  2. 如果是“。”的第二个实例。是5 FINDSTRING([mycolname],“。”,2)然后在第三个字符后加0,例如01.02.3.4

  3. 如果是“。”的第三个实例。是8 FINDSTRING([mycolname],“。”,3)然后在第6个字符后添加0

  4. 我对某些逻辑感到有些困惑!

    有谁帮忙?

1 个答案:

答案 0 :(得分:0)

使用单线派生列可以在SSIS 2012中实现

RIGHT("00" + TOKEN("1.02.3.04",".",1),2) + "." + RIGHT("00" + TOKEN("1.02.3.04",".",2),2) + "." + RIGHT("00" + TOKEN("1.02.3.04",".",3),2) + "." + RIGHT("00" + TOKEN("1.02.3.04",".",4),2)