当要求和的字段设置为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)
本文探讨了在数据库操作中,使用浮点数字段进行求和时遇到的问题及解决方案。由于浮点数的不准确本质,直接求和可能导致结果偏差。文章提供了两种解决方法:一是使用cast将字段转换为decimal类型并指定精度;二是使用round函数保留固定位数的小数。这些技巧对于提升数据处理的准确性至关重要。
736

被折叠的 条评论
为什么被折叠?



