ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL 中 Decimal 类型定义与存储介绍

2022-06-12 16:03:04  阅读:313  来源: 互联网

标签:存储 字节 示例 Decimal 999 类型定义 MySQL 数字


类型介绍

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 位。

标签:存储,字节,示例,Decimal,999,类型定义,MySQL,数字
来源: https://www.cnblogs.com/conne/p/16368134.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有