开发
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位才可满足
一篇可参考的文章: