mysql 浮点数返回错误值
Wrong value returned from mysql float
我有一个 table 具有高精度值,存储为 Float
。当我查询 table 该值时,它 returns 舍入值,四舍五入到第一个数字。但是当我 运行 下面的查询时,我得到了我存储的值,
SELECT MY_FLOAT_COL*1 FROM MY_TABLE;
里面发生了什么Mysql?
如果您想存储 精确的 值,您将使用 DECIMAL
数据类型。
根据 FLOAT
的手册:
The FLOAT
and DOUBLE
types represent approximate numeric data values. MySQL uses four bytes for single-precision values
这里要提的是近似。
您可以在此处阅读更多关于浮动的信息:http://dev.mysql.com/doc/internals/en/floating-point-types.html
我有一个 table 具有高精度值,存储为 Float
。当我查询 table 该值时,它 returns 舍入值,四舍五入到第一个数字。但是当我 运行 下面的查询时,我得到了我存储的值,
SELECT MY_FLOAT_COL*1 FROM MY_TABLE;
里面发生了什么Mysql?
如果您想存储 精确的 值,您将使用 DECIMAL
数据类型。
根据 FLOAT
的手册:
The
FLOAT
andDOUBLE
types represent approximate numeric data values. MySQL uses four bytes for single-precision values
这里要提的是近似。
您可以在此处阅读更多关于浮动的信息:http://dev.mysql.com/doc/internals/en/floating-point-types.html