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 在这里可能有点过分,但并没有真正的伤害。
我尝试了多种方法来格式化派生列以消除尾随 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 在这里可能有点过分,但并没有真正的伤害。