で正常に動作しません:減算は、私のクエリ後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
が正しくないのはなぜ?これを解決するには?あなたはROUND
機能を使用する必要が
SELECT SUM(t*q) as first,
SUM(s*q) AS second,
FORMAT(SUM(t*q)-SUM(s*q),2) AS firstminussecond
FROM my_table
'[q]、[s]、[t]'列のデータ型とは何ですか? – Stoleg
浮動小数点演算の仕組みを読んでみることをお勧めします。表示されている結果は浮動小数点数と同じくらい正確です。 https://en.wikipedia.org/wiki/Floating_pointこの質問は、すべてのITおよびコンピュータサイエンス大学の学位プログラムの最終試験になるはずです。 –