在我的excel中,有些值是这样的
11.17
3.35
2.28
1.4
存储在
General
在将excel导入数据库后,一些数值的小数位数完全改变了。
例子
SELECT * into #temp
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;IMEX=1;Database=D:\test\testfile.xlsx',
[Data$])
数据来自
#temp
数据类型将插入表中
decimal(38,20)
.
11.17 is changed to 11.17000000000000000000
3.35 is changed to 3.35000000000000010000
2.28 is changed to 2.27999999999999980000--wrong
1.4 is changed to 1.39999999999999990000--wrong
检查后,我在
#温度
是
float
,这是由于其近似数据类型而导致此问题的。
有没有办法避免把它放在浮子里?
我知道我们可以
BULK
fmt
但excel中的列数不是静态的,所以我不能使用该选项。