Integration Services加倍到字符串

时间:2015-03-03 10:48:50

标签: sql sql-server ssis

我正在使用Integration Services将数据从Excel文件加载到SQL Server表。当我尝试将存储为double (DT_R8)的数字发送到数据库列,其中数据存储为varchar(50)时,我发现了一个奇怪的四舍五入。

例如,考虑上面图像的第一行第一列中的数据。原始值为31.35,但作为字符串,它存储如下所示

enter image description here

在导出到SQL之前,我已经尝试使用Delivered Column转换来转换为字符串,我还添加了Round(x,5),但我得到了相同的结果。 如果我无法更改SQL列数据类型,我该如何解决这个问题呢?

1 个答案:

答案 0 :(得分:0)

唯一可行的解​​决方案是将输入类型从double (DT_R8)更改为currency [DT_CY]。似乎在double (DT_R8)上执行的舍入使得在解析以某种方式涉及导出过程时难以使用。