SSIS:来自 csv 文件的数据问题:
Posted
技术标签:
【中文标题】SSIS:来自 csv 文件的数据问题:【英文标题】:SSIS:Issue with data from a csv file: 【发布时间】:2019-09-05 14:42:14 【问题描述】:CSV 文件中的数据存在问题:我下载了一些 CSV 文件,其中包含一些值,例如:1.21E+11
,当值太长时。
如果我转换为 XLS/XLSX 并将字段更改为数字,则可以解决问题,但我想做一些自动化的事情。
【问题讨论】:
使用awk
.....!
SSIS 不会为您将值转换为数字。在您的目标数据库上转换它或使用自定义脚本任务。
EzLo 你有那个脚本的例子吗?
【参考方案1】:
尝试添加类型为 DT_R8 的派生列并使用以下表达式:
(DT_R8)[InputColumn]
如下图,我测试了如下表达式:
(DT_R8)"1.21E+11"
结果是:
121000000000
【讨论】:
在这种情况下不能正常工作 6.10E+11 转换应该是这个 610300000000 但它是 610000000000 @AlfredoGarcia6.10E+11
等于 610000000000
。但请注意,在 Microsoft Excel 中,如果值存储为 610300000000
,则可能会显示为 6.10E+11
,您可以在 Excel 中检索初始值,但在 Excel 外部读取此值时,您无法检索精确值。
@AlfredoGarcia 6.10E+11
表示6.10 * 10^10
是的,你说得对,但我需要精确的数字,因为我的系统中存在 ID 或数字
另一件事是从文件中得出的数据类型如何 DT_STR 50 当您转换为 Float 时会出现错误。以上是关于SSIS:来自 csv 文件的数据问题:的主要内容,如果未能解决你的问题,请参考以下文章