decimal释义:
用一张图来解释一下这个字段的意思:
那么,在表中某个字段设计为decimal数据类型,就表示存储带小数的数据,而且是十进制格式存储精确数值。
使用场景:
一般用来存储货币数据。
技巧:
因为decimal数据类型中,不同的数值位数用到的存储空间不一样,参考下方表格:
剩余数字 | 位 |
---|---|
0 | 0 |
1–2 | 1 |
3–4 | 2 |
5–6 | 3 |
7-9 | 4 |
所以,根据你的存储需求选择对应长度来存储才不会浪费空间。
实战举例:
我做了一个代理系统,有一个收益字段,它是货币,所以我选择了decimal,那么整数位和小数位怎么安排呢?我是这么做的。
我总共选用了13位,小数位占了4位,整数位占了9位,依据上方表格,那么我的空间占用最大是:4字节+2字节=6个字节。
实战参考:
整数位存9位完全够了,因为不清楚这个收益会不会突然变大而导致存不下而报错,从而导致业务问题,所以我留了几位的空间。(小故事:因为前几天踩过这个坑,原来整数位存的5位,查日志的时候发现报错了,原因是传了一个6位的数字过来,这个问题花了一天时间来补数据,简直可可怕怕!)
小经验:
1、说一个小经验,如果小数位存储4位,那么修改数据的时候传入的5位,那么第五位数字在存储的时候遵循四舍五入规则(已测试,小数位最多保存4位)。
2、如果数值在其取值范围之外,则直接报Out of range value错误。
END