希望有人可以解决我的问题。我正在将一个excel文件导入到ms sql表中,并且excel中的.1中的任何值都导入到表中,格式为.09999。有人可以解释为什么会发生这种情况以及如何让它们显示为.1而不是。
我运行的查询是
select * from POSCustomer where LoyaltyID <> ''
答案 0 :(得分:1)
不确定如何导入SQL,是否有ADO例程,或者是否正在为批量插入输出文件?
如果通过代码,那么在途中将数字四舍五入为1dp,如果通过文本文件然后将其舍入,则在通过圆形公式输出之前。
答案 1 :(得分:0)
检查源文件 - Excel。默认情况下,Excel会将数字舍入为0.0999到0.1
但实数精度因显示精度而异。在单元格中,数字仍然是0.0999,即使你可以看到它很好地舍入到0.1。如果任何工具正在导入excel,它将使用&#34; real&#34;导入数字。精度。
如果是这种情况,那么解决方案是使excel设置显示的精度。将单元格编号格式设置为数字,并将精度设置为一个小数位。然后转到Excel&gt;&gt; File
&gt;&gt; Options
&gt;&gt; Advanced
&gt;&gt;厚集precision as displayed
[保存]
警告 - 使用此方法,您将永久丢失数据信息。你将无法找回#。#99999,它将会丢失。