如何解决MySQL 中无符号 DECIMAL(3,2) 使用多少字节
我想知道 unsigned DECIMAL(3,2) 在 SQL 中使用了多少字节。我在网上找到的文档不是很清楚,尤其是当你有一个未签名的 DECIMAL 时。
解决方法
documentation 似乎很清楚:
DECIMAL 列的值使用二进制格式存储 九位十进制数字转换为 4 个字节。存储要求 每个值的整数和小数部分分别确定。 每 9 位数字的倍数需要 4 个字节,其余的 剩下的数字需要 4 个字节的一小部分。存储 下表给出了所需的剩余位数。
所以,DECIMAL(3,2)
的整数部分有 1 位数字,小数部分有 2 位数字。根据该表,1-2 位数字需要一个字节。因此总共是两个字节。
简单的答案,通常是正确的或非常接近的:
DECIMAL(m,n)
的存储要求是 m/2
。
在您的情况下,3/2 = 1.5 非常接近。在这种情况下,四舍五入以获得正确的“2”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。