如何解决SSIS 2008 - 浮点值导出为平面文件目标中的指数值
我正在尝试将表导出到平面文件目标。浮点列值 (0.0911780821917808) 导出到平面文件中的 9.1178082191780821E-2。
表格 创建表测试 ( col1 浮点数 )
Col1 0.0911780821917808
正在将此表导出到平面文件目标。但是导出到 .txt 文件中的值“9.1178082191780821E-2”。然而,正确的值在 OLE DB 源之后出现在 DataViewer 中。
请指导将值原样导出到平面文件。
提前感谢您的所有时间
问候,
斯大林
解决方法
我以前遇到过类似的问题,事实证明最安全的方法是通过 STR 函数在源代码转换为字符串。例如,您可以使用如下 SQL 查询读取 OLEDB 源中的表:
SELECT LTRIM(STR(col1,25,18) ) Col1casted
FROM
TEST
然后您可能需要重新创建平面文件目标(或更改数据类型)
在本例中,我将转换后的值设置为 25 位长,其中 18 位是小数,但您可以进行调整以确保它涵盖表中的值范围。
对于甲骨文:
SELECT TO_CHAR(0.0911780821917808267712341,'9D9999999999999999') FROM DUAL;
以上格式设置为16位小数,以sql fiddle为例
https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=487fe7bf6cf3a2264f988523e5ac7a3d
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。