Этот запрос возвращает 1.7763568394002505e-15, когда он должен вернуться 0.00:SQLite проблема с плавающей точкой
SELECT st.id
, Sum(
CASE sa.Type
WHEN 4 THEN sa.quantity * (st.price - st.commission)
WHEN 5 THEN -sa.quantity * (st.price - st.commission)
ELSE 0.0 END
) Sales
FROM sales sa
JOIN stock st
ON sa.stockid = st.id
WHERE st.id = 1
GROUP BY st.id
http://sqlfiddle.com/#!5/cccd8/3
Это выглядит как классический вопрос расчета с плавающей точкой, но как я могу это исправить? Я пробовал отличать различные столбцы до REAL, но это не имеет значения.
Вы можете имитировать результат, используя этот запрос: РЕАЛЬНЫЙ
SELECT 26.3 - 10.52 - 15.78 AS Result