2016-07-08 84 views
0

我有一个将csv文件加载到sqlserver表的SSIS项目。在将具有两位小数位的字段加载到float列时,它会增加位数并更改列值。加载浮动字段时SQL Server SSIS增加位数

作为示例,csv字段值为173.76,但表值为173.759994506836

这是怎么发生的?

CSV连接属性是;

  • 区域设置:土耳其语(土耳其)
  • 代码页:1252
  • 数据类型:浮[DT_R4]
+0

不要在SQL Server中使用'FLOAT' - 使用'DECIMAL(p,s)'有精确的数字..... –

+0

谢谢marc_s,我会这样做的。 –

回答

1

float的数据类型是一个近似值。请将您的数据类型更改为更准确的值,或者 - 在导入期间将值转换为nn.nnn。

+1

感谢您的回答。它缺乏关于浮点数据类型的知识。以下是维基百科的定义[链接](https://en.wikipedia.org/wiki/Floating_point) –