gpt4 book ai didi

mysql - 以两种不同方式使用时,Mysql round 函数得到不同的结果

转载 作者:行者123 更新时间:2023-11-29 02:03:18 26 4
gpt4 key购买 nike

我有一列只有一列“id”。该表的创建语句为:

CREATE TABLE `test` (
`id` float default NULL
);

表中的值是:

id
-----
8.075

当我执行查询时:

SELECT ROUND(id, 2) FROM test;

我得到结果“8.07”。但是当我简单地执行查询时:

SELECT ROUND(8.075,2);

我得到的值是“8.08”。

如何才能在这两种情况下获得一致的结果?

这些查询的demo可以查看here .

最佳答案

一轮的结果取决于文字 8.075 的隐式类型。

float 8.075 在内部表示为最接近的 float ,即 8.07499999999999928946,四舍五入为 2 位作为 8.07

如果文字 8.075 被解释为小数,则可能正在应用“round-half-even”规则。我会查找它,但 MySQL 的网站现在已关闭。

关于mysql - 以两种不同方式使用时,Mysql round 函数得到不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11061305/

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