首页 > 解决方案 > SSIS 从 csv 平面文件源中删除左零

问题描述

我有一个要在 SSIS 中处理的 csv 文件。该文件包含列类型字符串 Unicode 字符串 [DT_WSTR],例如:ColumnA -> ( "00000123400")。

我想删除 123400 左侧的零,并删除引号,结果如下:123400

对于引号,我通过 Derived Column: 找到以下解决方案REPLACE (ColumnA, "\" "," "),这给了我以下结果:00000123400.

如何删除左侧的零?

删除引号后,我尝试将字符串转换为整数 [DT_I4],但这并没有删除零。

你对我的案子有答案吗?提前致谢。

标签: ssis

解决方案


部分案例的解决方案是:

在我们的派生列中放入表达式:

REPLACE(LTRIM(REPLACE(ColumnA,"0","")),"","0")

它删除了只剩下零

你可以看到链接:Removing left padding zero in SSIS

它工作得很好,但是是否可以修剪左零,并在表达式中同时删除引号?

示例:我有 Column1 ,它是带引号的字符串,左零 - “0000123400”

我试试这个表达:

REPLACE(REPLACE(LTRIM(REPLACE(column1, "0", " ")), " ", "0"),"\""," ") 

但它不起作用,它删除所有零并返回 1234。

我想要的解决方案是获得 123400。

我应该一件一件地做吗?首先创建一个交付列并删除引号,然后为左零创建另一个交付列?

提前致谢。


推荐阅读