正常工作之後我的查詢:減法不SUM
SELECT SUM(t*q) as first,
SUM(s*q) AS second,
SUM(t*q)-SUM(s*q) AS firstminussecond
FROM my_table
結果是:
first = 9010.56
second = 8664
firstminussecond = 346.5599999999995 (this should be 346.56!)
爲什麼firstminussecond
是不正確的?如何解決這個問題?
列'[q],[s],[t]'的數據類型是什麼? – Stoleg
我建議你閱讀浮點算法的工作原理 - 或者不使用它。所顯示的結果實際上與浮點允許的結果一樣準確。 https://en.wikipedia.org/wiki/Floating_point這個問題或其他類似問題應該在每門IT和計算機科學大學學位課程的期末考試中進行。 –