在SSIS中插入字符

Insert characters in SSIS

我有一个要求,我需要在间隔 2,3,3 之后为特定列插入特殊字符 例子

ABCDEFGHIJKL -> AB-CDE-FGH-IJKL

我知道我需要在 SSIS 2012 中使用 Derived 列,但我无法使用表达式。如果有人能用正确的表达方式帮助我,我将不胜感激

逻辑是您需要在给定的序号位置将字符串分成两部分,然后将这些部分与您的特殊字符连接起来。

派生列会有点难看,因为该语言不具备 .net 库的强大功能。我们将大量使用和滥用 SUBSTRING 来完成工作

SUBSTRING(MyCol, 1, 2) + "-" + SUBSTRING(MyCol, 2, LEN(MyCol) -2)

这适用第一个特殊字符逻辑。为了简化问题,我会将此列作为 MyColStep1 添加到数据流中。然后,我添加了第二个派生列任务,该任务使用上述逻辑,但使用 MyColStep1 作为输入。采用这种方法将使调试变得非常非常容易(因为您可以在每个组件的输出路径上附加一个数据查看器)。

SUBSTRING(MyColStep1, 1, 6) + "-" + SUBSTRING(MyColStep1, 6, LEN(MyColStep1) -6)

等等