sql server - SQL: Sum a negative and positive real gives wrong value -
why following query result in value 3.21865081787109e-06
when value should zero?
create database test go use test create table nums (number real) go insert nums values (1.67460317460317),(-1.6746) go
then run:
select sum(number) nums
this returns value 3.21865081787109e-06
?
if cast values decimal, or if shorten first number 1.6746
returns correct value of zero?
also: summing numbers manually gives correct value, looks if sum()
trims zeroes?
select (1.67460317460317 + -1.6746)
returns:
0.00000317460317
thank you!
why should 0?
1.67460317460317 + -1.6746 ------------------- = 0.00000317460317 = 3.17e-06
and difference between 3.21 , "real" math 3.17 floating point inaccuracy.
Comments
Post a Comment