я не могу понять, почему мои результаты разные:Округление в MySQL не работает, как ожидалось
У меня есть таблица заказы и колонки цены (тип двойной в MySQL).
цена значение в базе данных: 13.5.
запроса:
SELECT ROUND(price * 0.09, 2) FROM orders where id = 1;
результат: 1,21
запроса:
SELECT ROUND(13.5 * 0.09, 2);
результат 1,22
без округления: SELECT 13.5 * 0.09
результат 1,215
поэтому правильный результат после того, как раунда 1,22.
Почему запрос SELECT ROUND(price * 0.09, 2) FROM orders where id = 1;
дает мне неправильный результат (1.21)?
Я не могу понять, что случилось, я думаю, что-то с кастингом.
Может ли кто-нибудь объяснить мне это?
Это может помочь вам HTTP: // stackoverflow.com/questions/10446581/mysql-round-weird-bug –
Этот URL-адрес может быть полезен при использовании функции MySQL ROUND (http://www.w3resource.com/mysql/mathematics-functions/mysql-round-function.php) –
Очень маловероятно, что вы бы хотели DOUBLE для «цены». См. DECIMAL. – Strawberry