MySQL 5.7发行说明
这漂浮
和双倍的
类型表示近似数值数据值。MySQL使用四个字节进行单精度值和8个字节进行双精度值。
为了漂浮
,SQL标准允许在关键字之后的比特中的精度(但不是指数范围)的可选规范漂浮
在括号内;;那是,漂浮(
。MySQL还支持此可选精度规范,但精度值P.
)漂浮(
仅用于确定存储大小。从0到23的精度导致4字节的单精度P.
)漂浮
柱子。从24到53的精确度导致8字节的双精度双倍的
柱子。
MySQL允许非标准语法:漂浮(
或者m
那D.
)真实的(
或者m
那D.
)双精度(
。这里,m
那D.
)(
意思比价值可以用尽m
那D.
)m
总共数字,其中D.
数字可能在小数点之后。例如,定义为浮子(7,4)
好像-999.9999
显示时。MySQL在存储值时执行舍入,因此如果您插入999.00009
进入A.浮子(7,4)
列,近似结果是999.0001.
。
因为浮点值是近似的,并且未作为精确值存储,所以尝试将它们视为精确的比较可能导致问题。它们也受到平台或实现依赖性的影响。有关更多信息,请参阅第b.3.4.8节“浮点值的问题”
为了最大的可移植性,需要存储近似数字数据值的代码应该使用漂浮
或者双精度
没有准确或数字数量的规范。