我正在使用 SQL Server 2008 R2 和 SQL Server 2012 尝试以下操作,并且在两者中都得到了相同的结果。
如果我写以下语句:
select round(4.005, 2)
我得到了预期的结果:4.01
但是,如果我写以下语句:
declare @result float
select @result = 4.005
select round(@result, 2)
我得到了一个意想不到的结果:4
但是,如果我在前面的语句中将float替换为real :
declare @result real
select @result = 4.005
select round(@result, 2)
我得到了预期的结果。
谁能告诉我为什么会这样?