SSIS 中的派生列 - 尾随 Space

Derived Column in SSIS - Trailing Space

我尝试了多种方法来格式化派生列以消除尾随 space。要在仅查看 Excel 中的列并传输到 Access 时格式化列:

'=TRIM(CLEAN(SUBSTITUTE(E2,CHAR(160),"")))

在我试过的派生列中:

- REPLACE(RTRIM([Provider Number]),"\x00A0","") == "" ? (DT_STR,10,1252)NULL(DT_STR,10,1252) : [Provider Number]

- TRIM([Provider Number]) == "" ? (DT_STR,10,1252)NULL(DT_STR,10,1252) : [Provider Number]

- LTRIM(RTRIM([Provider Number]))

当我查询列的长度时,当程序包运行(成功)时,我的结果仍然算作 1 个额外的 space:

看起来您知道自己在尝试什么trim,但是您在 SSIS 中使用 ascii 值时遇到困难。

我似乎无法弄清楚如何在 SSIS 中使用 ASCII,但是您可以 运行 通过脚本组件使用它。确保检查您想要 Read/Write ProviderNumber.

的输入

简单代码:

Row.ProviderNumber = Row.ProviderNumber.TrimEnd((char)160); 

//添加.Trim()清除所有white space

根据评论添加:

在你通过 C# 运行 之后,你就可以做你的派生列了

TRIM([Provider Number]) == "" ? NULL(DT_STR,10,1252) : [Provider Number]

TRIM 在这里可能有点过分,但并没有真正的伤害。