mysql 奇怪的除法问题
看看MYSQL上的奇怪问题。
查看第 3 列。结果是 0.02876121,但实际结果应该是第 4 列 = 0.02876。 为什么MYSQL给出小数点错误值?
*另一件事是,如果我附加“Where column = 'uniquevalue'”来返回我想要的结果,它只会给出错误的值。 如果我删除 where 条件,给出表中的所有记录,则该值是正确的。
Look at the strange problem on MYSQL.
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑这与计算中使用的数据类型有关。
如果“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?