mysql 奇怪的除法问题

发布于 2024-09-18 16:22:17 字数 260 浏览 4 评论 0原文

看看MYSQL上的奇怪问题。 alt text

查看第 3 列。结果是 0.02876121,但实际结果应该是第 4 列 = 0.02876。 为什么MYSQL给出小数点错误值?

*另一件事是,如果我附加“Where column = 'uniquevalue'”来返回我想要的结果,它只会给出错误的值。 如果我删除 where 条件,给出表中的所有记录,则该值是正确的。

Look at the strange problem on MYSQL.
alt text

Look at the column 3. The result is 0.02876121 but the actually result should be the column 4 = 0.02876.
Why is MYSQL giving fault value on decimal points?

*Another thing is that, it only give wrong value if I append "Where column = 'uniquevalue'" to return the result i want.
The value is correct if I remove where condition, giving all the records in table.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一杆小烟枪 2024-09-25 16:22:17

我怀疑这与计算中使用的数据类型有关。

如果“rank”和“program_count”是整数和小数的混合,则 SUM() 将返回小数值,否则将返回浮点值。否则 SUM() 将给出浮点数或双精度数。

在 SQL 中,float 和 double 是近似值,您可以使用 Float 关键字定义精度级别。

您的表中各个列的数据类型是什么?

I suspect that its all to do with data types used in the calculations.

If 'rank' and 'program_count' are a mix on integers and decimal then SUM() will return a decimal value otherwise it will return a float value. Otherwise SUM() will give a float or double.

In SQL float and double are approximate values, you can define the level of accuracy with the Float keyword.

In your table what data types are the various columns?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文