MySQL 中 Decimal 类型定义与存储介绍
2022/6/13 2:20:30
本文主要是介绍MySQL 中 Decimal 类型定义与存储介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
类型介绍
Decimal 在 MySQL 中作为定点数类型,存储的是准确的数字,因此在设计字段时需制定精度和标度。
精度(M):所有数字的位数,缺省值为 10,最大值为 65
标度(D): 小数点后的数字位数,缺省值为 0
缺省值说明:
若定义 Decimal(4) 则等价于定义 Decimal(4, 0)
若定义 Decimal() 则等价于定义 Decimal(10, 0)
存储空间介绍
Decimal 使用二进制格式存储,所占存储空间取决于其精度。
根据精度(M),每 9 位数字包装成 4 个字节 (4B),不足 9 位的,剩余数字所需的存储如下表所示:
剩余数字 | 所占空间 |
---|---|
1, 2 | 1 字节 (1B) |
3, 4 | 2 字节 (2B) |
5, 6 | 3 字节 (3B) |
7, 8, 9 | 4 字节 (4B) |
示例
存储示例
Decimal(5,2) 占 3B 空间,存储数据范围为 [ -999.99, 999.99 ]
Decimal(2,2) 占 1B 空间,存储数据范围为 [ -0.99, 0.99 ]
Decimal(4) 占 2B 空间,存储数据范围为 [ -9 999, 9 999 ]
Decimal() 占 5B 空间,存储数据范围为 [ -9 999 999 999, 9 999 999 999 ]
写入示例
对 Decimal(4,2) 插入 12.34 则实际存储 12.34
对 Decimal(4,2) 插入 12.345 则实际存储 12.35 (四舍五入)
对 Decimal(4,2) 插入 12.3 则实际存储 12.30 (余位补零)
对 Decimal(4,2) 插入 123.4 则无法存储 (整数位超限)
总结规律,Decimal(4,2) 代表:整数最多 2 位、小数必须 2 位。
这篇关于MySQL 中 Decimal 类型定义与存储介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程