我遇到了Derived列的问题.基本上我有一个包含分隔数据的平面文件源.
我的一些列是货币,数据以奇怪的格式保存(旧系统倾向于这样做).
无论如何,数据保存如下:00030.200,0123.410,0002231.210
我需要将这些字符串转换为货币DT_CY.我已经尝试使用所有不同的数字类型直接强制转换,但它们都失败了(不确定是否导致它的前导或尾随零)
所以我的问题很简单.我可以在派生列中使用什么表达式来删除前导零和尾随零.请注意,数据始终不是相同的长度,因此不能完全执行左/右子字符串选项.
有帮助吗?
TX
您可以使用派生列以这种方式完成它:
Replace(Ltrim(Replace(dataToConvert, "0", " ")), " ", "0")
Run Code Online (Sandbox Code Playgroud)
基本上,您将零转换为空格以利用Ltrim函数.
我创办这个解决方案在这里.
以下是它将如何进行的示例:(假设我们要转换0040.300.为此,我们可以将数字显示为:| 0 | 0 | 4 | 0 |.| 3 | 0 | 0 |以查看如何替换语句影响我们的数据)
基本上,0040.300的转换将以这种方式运行:
所以我们最终得到40.300.