问题将数值数据导出到平面文件,SSIS
Posted
技术标签:
【中文标题】问题将数值数据导出到平面文件,SSIS【英文标题】:Issue exporting Numeric data to Flat file , SSIS 【发布时间】:2013-05-02 16:35:18 【问题描述】:我在数据库中有值0.546, 0.456
的数值数据。当我尝试使用平面文件管理器将这些值导出到平面文件时,零值被截断,并且平面文件中仅显示 .546,.456
。
零以外的值没有这个问题。 我尝试使用数据转换但没有用
【问题讨论】:
在数学上,这些数字是相同的——实际问题是什么?您无法导入这些吗?您是在文本编辑器(不是 Excel)中打开输出文件吗? 在平面文件 (txt) 中,值显示为 0.546 而不是 0.546 为什么会有这样的问题? 关于这个主题的一些有趣的讨论可以在这里找到:mathforum.org/library/drmath/view/52352.html - 讨论的关键是阅读时可能会错过前面没有零的小数。最后但并非最不重要的一点是,如果需求或老板说需要,我们必须交付。 【参考方案1】:尝试数据转换转换 - 数据类型:十进制 [DT-DECIMAL):比例 3。 很好的发现,Prakash!
【讨论】:
【参考方案2】:恐怕您必须先将数字数据转换为DT_WSTR
。它必须是派生列转换,而不是数据转换,因为你会得到相同的结果。在表达式中,您需要在转换后的数字前面加上 0。不知道负数,但也许它们会有正确的格式(您需要对其进行测试)。
floor(decimal_column)==0 ? "0" + (DT_WSTR,10)decimal_column : (DT_WSTR,10)decimal_column
我知道这不是您所期望的,但前几天我遇到了同样的问题,无法找到更好的解决方案:)。
【讨论】:
以上是关于问题将数值数据导出到平面文件,SSIS的主要内容,如果未能解决你的问题,请参考以下文章
使用 SSIS 脚本任务将数据从多个 SQL 表导出到不同的平面文件
将数据从平面文件加载到 Sql Server 表,并使用 SSIS 导出到 excel
SSIS 2008 - 在平面文件目标中导出为指数值的浮点值
SQL 导出到平面文件比作业中 SSIS 中的相同导出运行得更快
如何在 SQL Standard 上导出 SSIS 数据并在 SQL Express 上使用 Bulk Insert 导入?