Dear all,
Why in this special circumstances returns Sum function incorrect value? (tested on Microsoft SQL Server)
Sum two numbers, one negative, one positive, both differs with numbers after decimal separator and are same before decimal separator.
Example -9 and 9,07 or 13,1 and -13,2 etc.
Here is the code for test, as sum you wil get 0,070000000000000284 and I expect 0,07 :
CREATE DATABASE TestDB
CREATE TABLE TestTBL (memo varchar,calc float)
INSERT INTO TestTBL VALUES ('x', -9.00)
INSERT INTO TestTBL VALUES ('x', 9.07)
SELECT memo, SUM(calc) as Why
FROM TestTBL
GROUP BY memo
Fórum › MS SQL
Sum function returns incorrect value
This is common problem for computer representation of floating point numbers (ie. float).
You can round it to less precision (or you can use DECIMAL - fixed point number)
By the way: this is "correct" value - deviation is extremely small -> 4e-15
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 3 hosté
Podobná vlákna
Přidat šum — založil Petroff
Problem s funci SUM() — založil PetrUK
Asp.net gridview total sum column — založil silent
Incorrect string value: '\xF4\x80\x80\xB9Bu...' — založil cpt.Pickard
ERROR 1366 (HY000): Incorrect string value: '\x9B' — založil fnenks
Moderátoři diskuze