在我的數據庫中,我有一個表格,字段爲Profit和Month,Profit爲DOUBLE類型。SQL GROUP BY和DOUBLE VALUE屬性
我執行以下查詢:
SELECT SUM(profit) AS profit , Month
FROM general_Table
Where ID = '101' AND Year = '2017'
GROUP BY Month
我相信,我的數據庫只包含兩個小數點,如9.02或3.79雙打,但結果我得到的是
Profit Month
904953.49 1
834431.1699999999 2
925363.4200000018 3
我希望我不應該得到兩個以上的小數點,因爲只有輸入有兩個小數點的值。有人可以解釋我的查詢是否錯誤?
您可能想要閱讀https://dev.mysql.com/doc/refman/5.7/en/problems-with-float.html和**停止使用FLOAT或DOUBLE存儲精確比例的數字,如貨幣值。 ** –
另請參閱[我的2013鳴叫](https://twitter.com/billkarwin/status/347561901460447232):「如果我每次看到有人使用FLOAT存儲貨幣時都有一毛錢,我會有$ 999.997634。#ieee754jokes「 –