Wednesday, June 26, 2013

Accuracy of float values

The 2nd select returns incorrect result. why this happen?

=======================================
DECLARE @a FLOAT(53),@b FLOAT(53),@c FLOAT(53);
DECLARE @Tab TABLE(ID INT IDENTITY(1,1), Num FLOAT(53));

select @a = 0.115,@b = 0.075,@c = 0.04;

INSERT @Tab
SELECT @a;

INSERT @Tab
SELECT @b + @c;

--Two rows
SELECT ID, Num
FROM @Tab;

--This gives one row
SELECT Id, Num
FROM @Tab
WHERE Num = 0.115;

--This gives two rows
SELECT Id, Num
FROM @Tab
WHERE Num between 0.114 AND 0.116;
=======================================





Satheesh


No comments:

Post a Comment