mysql中decimal数据类型小数位填充问题详解
(编辑:jimmy 日期: 2024/11/25 浏览:3 次 )
前言
在开发过程中,我们往往会用到decimal数据类型。因为decimal是MySQL中存在的精准数据类型。
MySQL中的数据类型有:float,double等非精准数据类型和decimal这种精准。
区别:float,double等非精准类型,在DB中保存的是近似值。
Decimal则以字符串的形式保存精确的原始数值。
decimal介绍:
decimal(a,b)
其中:a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
备注:DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。
问题
当decimal类型长度小于14的时候,向decimal类型字段中插入数据时,小数位无效的0会被自动去掉。只有当decimal类型长度大于或者等于14位的时候,小数位无效的0才会保留,同时自动填充小数位。
注意
在页面显示的时候,也需要对数据进行(小数位)格式化,否则无效的0会被去掉。
下一篇:详解Mysql之mysqlbackup备份与恢复实践