SSIS 2008 - 浮点值导出到平面文件目标中的指数值

SSIS 2008 - Float value exported to exponential value in Flat file destination

我正在尝试将 table 导出到平面文件目标。浮点列值 (0.0911780821917808) 导出到平面文件中的 9.1178082191780821E-2。

Table 创建 table 测试 ( col1 浮动 )

第 1 列 0.0911780821917808

正在将此 table 导出到平面文件目标。但是导出为 .txt 文件中的值“9.1178082191780821E-2”。但是,正确的值在 OLE DB 源之后出现在 DataViewer 中。

请指导将值原样导出到平面文件。

预先感谢您的宝贵时间

此致,

斯大林

我之前遇到过类似的问题,事实证明最安全的方法是通过 STR 函数在源代码中转换为字符串。例如,您可以使用这样的 SQL 查询在 OLEDB 源代码中读取 table:

SELECT LTRIM(STR(col1,25,18) ) Col1casted
FROM
TEST

那么您可能需要重新创建平面文件目标(或更改数据类型)

在此示例中,我将转换后的值设置为 25 位长,其中 18 位是小数,但您可以进行调整以确保它涵盖 table.

中的值范围

对于甲骨文:

SELECT TO_CHAR(0.0911780821917808267712341,'9D9999999999999999') FROM DUAL;

以上格式设置为16位小数,例子在sql fiddle

https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=487fe7bf6cf3a2264f988523e5ac7a3d