MySQL 中使用浮点数和 定点数来表示小数,浮点数包括单精度浮点类型(FLOAT)和双精度浮点类型(DOUBLE),定点数只有DECIMAL一种类型。浮点类型和定点类型都可以用 (M, N) 来表示,其中 M 为精度,表示总共的位数;N 为标度,表示小数的位数。
(1) 浮点数与定点数:浮点数指小数点在小数中的位置是不固定的,定点数指小数点在小数中的位置是固定的
(2) 单精度与双精度:单精度用 4 个字节来存储的,双精度用 8 个字节来存储,由于存储位不同,他们能表示的数值的范围就不同,也就是能准确表示的数的位数就不同。
类型名称 | 说明 | 存储需求 | 有符号取值范围 | 无符号取值范围 |
FLOAT | 单精度浮点数 | 4个字节 | -3.4028 ~ -1.1754 | 0 和 1.1754 ~ 3.4028 |
DOUBLE | 双精度浮点数 | 8个字节 | -1.7976 ~ -2.2250 | 0 和 2.2250 ~ 1.7976 |
DECIMAL | 压缩的"严格"定点数 | M+2个字节 | 不固定 | 不固定 |
时间: 2024-10-10 01:54:25