我在Microsoft SQL中插入浮点数,其中一些显示为:
7E-05
5E-05
6E-05
另一个浮点将按预期插入。例如,此float0.00007
插入为,7E-05
而此插入0.01500
为0.015
。
我怀疑浮子的大小,但是将其减小到x.yyyyy之后,我仍然得到这种浮子。有人知道导致此问题的原因吗?
如果要存储这样的值,请使用DECIMAL
而不是FLOAT
以下内容:DECIMAL(18,5)
它允许您在5位后存储数字,
样本:
CREATE TABLE #test
(
ID DECIMAL(18,5)
)
INSERT INTO #Test VALUES (0.00007)
SELECT ID FROM #Test
DROP TABLE #Test
结果:
0.00007
正如乔恩·斯基特(Jon Skeet)所说:
您实际上并没有尝试保存123.66,因为您不能完全以浮点数或双精度数表示123.66。仅此,数据库比以往更加准确地保存数据。
如果要准确保存十进制数字,请使用十进制类型。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句