当要求和的字段设置为float时,求和会出现问题。其原因是浮点数的不准确本质,它们无法以准确值保存在计算机体系结构中。
解决方法:
(一):使用 cast (字段 as decimal(18,4)) 可以指定精度。
SELECT
count(id) AS total,
cast(
sum(commission) AS DECIMAL (19, 5)
) AS sumComm
FROM
jd_settle_order
(二)使用round保留几位小数
如 round(3.145683,3)