SQL SUM hatalı toplama yapıyor

Tarık Can LP

Kilopat
Katılım
4 Ağustos 2016
Mesajlar
78
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Selamlar, aşağıda ilettiğim gibi bir sql kodum mevcut. 21 tane her birinin price değeri 0.01 olan veri mevcut. Hepsinin toplamında bana döndürdüğü değer "0.21000000000000005" neden bu şekilde yapıyor? Bunun çözümü nedir?

SQL:
SELECT SUM(price) AS total_price FROM balances WHERE referance = '$user_refcode'
 
Acaba gözden kaçan bir satır mı var? Where şartına şunu da ilave edip bir test eder misin?

AND price = 0.01
 
Sorun sizden kaynaklanmıyor. Kayan nokta aritmetiği (Floating-point arithmetic) ile ilgili sıkça karşılaşılan bir durum.
ROUND(SUM(price),2) ile yuvarlayabilirsiniz. Ayrıca veri tipi olarak Decimal de kullanabilirsiniz.
 
Sorun sizden kaynaklanmıyor. Kayan nokta aritmetiği (Floating-point arithmetic) ile ilgili sıkça karşılaşılan bir durum.
ROUND(SUM(price),2) ile yuvarlayabilirsiniz. Ayrıca veri tipi olarak Decimal de kullanabilirsiniz.
round ile değilde SUM(CAST(price AS DECIMAL(10, 2))) bu şekilde çözdüm durumu
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…