从mysql float返回错误的值

时间:2016-08-17 13:00:02

标签: mysql precision

我有一个具有高精度值的表,存储为Float。当我在表中查询该值时,它返回舍入值,四舍五入到第一位。但是当我运行以下查询时,我得到了我存储的值,

SELECT MY_FLOAT_COL*1 FROM MY_TABLE;

Mysql里面发生了什么?

1 个答案:

答案 0 :(得分:1)

如果您想存储完全值,则可以使用DECIMAL数据类型。

通过FLOAT手册:

  

FLOATDOUBLE类型代表近似数字数据值。 MySQL使用四个字节作为单精度值

这里要提到的是 近似

您可以在此处阅读有关花车的更多信息:http://dev.mysql.com/doc/internals/en/floating-point-types.html