【发布时间】:2015-08-19 11:28:14
【问题描述】:
我有 SSIS 数据流任务,我需要将数据从一个 sql 数据库传输到另一个 sql 数据库。
我在 SQL 中的源数据库列数据类型是 float,在 ssis 中是 double-precision float [DT_R8]。
目标列数据类型为 Varchar(50) 。当我执行数据流时,传输到目标表的数据与源数据不同,例如:
+------------+---------------------------------+
| SourceValue| DestinationValue After execution|
+------------+---------------------------------+
| 0.579 | 0.578999999999999965 |
| 0.637 | 0.63700000000000001 |
| 0.503 | 0.503 |
+------------+---------------------------------+
因此,对于某些值,它相同,但对于其他值则不同。 我尝试了 3 种方法来解决这个问题:-
- 尝试将查询转换为
cast(col as varchar) - 试图转换为浮点数
cast(col as float) - 试图更改与源相同的 SSIS 目标列中的数据类型,即。
double-precision float [DT_R8]。虽然我收到警告说数据类型在执行时需要更改。
但是以上步骤都没有解决我的问题。
【问题讨论】:
标签: sql sql-server ssis