11.1.4 浮点类型(近似值)- FLOAT,DOUBLE
发布日期:2021-05-08 00:28:00 浏览次数:22 分类:精选文章

本文共 501 字,大约阅读时间需要 1 分钟。

MySQL中的单精度和双精度浮点数类型用于存储近似值数据。单精度FLOAT占用4个字节,双精度DOUBLE占用8个字节。

对于FLOAT类型,标准SQL允许在关键字后指定精度,但这些精度值仅用于确定存储大小。精度为0到24的值会生成一个4字节的单精度浮点数列,而25到53的精度则会生成一个8字节的双精度浮点数列。

MySQL还支持非标准的精度定义方式,如FLOAT(M,D)、REAL(M,D)或DOUBLE PRECISION(M,D)。其中(M,D)表示最多可以存储M位数字,小数点后最多有D位。例如,定义为FLOAT(7,4)的列可以存储-999.9999这样的值。然而,MySQL在存储时会进行舍入,因此插入的值可能会受到四舍五入的影响。

从MySQL 8.0.17版本开始,非标准的FLOAT(M,D)和DOUBLE(M,D)语法已被弃用,未来版本将逐步移除对这些语法的支持。

浮点数值由于其本质上的近似性,在进行精确比较时可能会引发问题。此外,它们还受平台和实现的限制。因此,在进行重要数据存储时,建议避免指定精度和刻度,直接使用标准的FLOAT或DOUBLE类型,以确保更高的可移植性。

上一篇:11.1.5 位值类型 - BIT
下一篇:11.1.3 定点类型(精确值)- DECIMAL,NUMERIC

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2025年04月17日 21时04分39秒