【发布时间】:2013-06-18 09:34:26
【问题描述】:
DECLARE @f as float
SELECT @f = 0.2
SELECT @f
以上代码返回
----------------------
0.2
(1 row(s) affected)
这并不奇怪。 Except that floating-point cannot represent 0.2 exactly.
那么 SQLServer 在这里做什么呢?它是否使用以 10 为底的浮点数?我的理解是它总是处理以 2 为底的浮点数(因为以 10 为底的浮点数基本上是DECIMAL?)。
它在做一些四舍五入吗?
【问题讨论】:
-
一个小问题,但
0.2是一个十进制常量。0.2E0是一个浮点常量。它不会影响问题thoguh
标签: sql-server floating-point computer-science floating-accuracy