gpt4 book ai didi

mysql - 对 FLOAT 数据使用 SUM

转载 作者:IT老高 更新时间:2023-10-28 23:49:51 25 4
gpt4 key购买 nike

一张 table :
商品(id,价格)

只有一行:
id:1,价格:565.8

SELECT price FROM items 给出 565.8
SELECT SUM(price) FROM items 给出 565.799987792969 而不是我期望的 565.8

565.799987792969从何而来?

最佳答案

我不确定您使用的是哪个版本,但听起来像 this link描述您正在经历的事情。

来自链接:

mysql> select * from aaa;
+----+------------+------+
| id | month_year | cost |
+----+------------+------+
| 1 | 2002-05-01 | 0.01 |
| 2 | 2002-06-01 | 1.65 |
| 3 | 2002-07-01 | 0.01 |
| 4 | 2002-01-01 | 0.01 |
+----+------------+------+

mysql> select id, sum(cost) from aaa group by id;
+----+---------------------+
| id | sum(cost) |
+----+---------------------+
| 1 | 0.00999999977648258 |
| 2 | 1.64999997615814 |
| 3 | 0.00999999977648258 |
| 4 | 0.00999999977648258 |
+----+---------------------+

The SUM function changes 0.01 to 0.00999999977648258.

float 存储为近似值;如果要存储价格,最好使用存储精确值的小数数据类型。

关于mysql - 对 FLOAT 数据使用 SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3907021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com