mysql - 在 DECIMAL 列上使用 SUM 函数时不准确
问题描述
在 DECIMAL (12.5) 列上使用 MySQL SUM 函数时,由于不准确而生成的值存在错误,其行为类似于 FLOAT 类型的列总和。
我在 MySQL 5.6 和 5.7 上进行了测试,在这两个版本上我都遇到了同样的问题。
金额列的类型为 DECIMAL(12,5)。
SELECT SUM(IF(o.operator='-', -(s.amount), s.amount)) as total
FROM stock s
INNER JOIN operators o ON s.operator_id = o.id;
返回的结果是 701.74999,但应该是 701.75000。
解决方案
推荐阅读
- android - Android材质按钮采用颜色原色而不是颜色重音
- javascript - 如何根据条件更改进度条的颜色
- java - 将字符串中的连续数字值转换为数字格式
- ansible - Ansible items.key in when 条件
- android - 如何保存底部导航片段的状态 - 具有单个导航图的 Android 导航组件
- html - 搜索输入在展开时推送链接列表
- python - 如何绘制具有多个边缘属性的networkx图?
- c# - Fluent Ribbon 未在 Visual Studio 2019 中编译
- html - 如何垂直引导列表组文本
- python - 嵌套列表的最小值/最大值