开发
decimal 将整数和小数部分分开存储,每9位数字包装成4个字节
对于每个部分,需要4
个字节来存储9
位数的每个倍数。剩余数字所需的存储如下表所示:
剩余数字 | 位 |
---|---|
0 | 0 |
1–2 | 1 |
3–4 | 2 |
5–6 | 3 |
7-9 | 4 |
例如,DECIMAL(19,9)
对于小数部分具有9
位数字,对于整数部分具有19
位= 10
位数字,小数部分需要4
个字节。 整数部分对于前9
位数字需要4
个字节,1
个剩余字节需要1
个字节。DECIMAL(19,9)
列总共需要9
个字节。
为什么是9位数字?
因为4个字节,也就是32位最多可以存储10位数字,2147483647,第10位只能到2,所以最大存储到9位才可满足
一篇可参考的文章: