MySql中有一种特殊的数据类型Decimal,这种数据类型的作用是为了存储精确的数值,目前常用于标记金额等需要小数点后几位数据的列。
建表语句的语法为:
columnName decimal(a, b) comment '花费'
其中前面的a代表小数点前几位,b代表小数点后几位,比如decimal(5,2)代表的含义就是小数点前5位,小数点后2位,则表达的最大值为99999.99。
注意
如果我们存入数据库的数据精度比我们设置的要高会怎么办,比如我们设置的为精确到小数点后一位,但是我们插入的数据是精确到小数点后两位的,MySql建表语句为decimal(5,1),然后我们插入数据为10.57,这时候Mysql会主动做四舍五入的操作,最终存入数据库的数据为10.6,所以如果我们在项目使用了decimal,但是最终sum数据对不上,可能是Mysql自动做了四舍五入的操作。