数据库 
首页 > 数据库 > 浏览文章

mysql中decimal数据类型小数位填充问题详解

(编辑:jimmy 日期: 2025/2/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才会保留,同时自动填充小数位。

mysql中decimal数据类型小数位填充问题详解

mysql中decimal数据类型小数位填充问题详解

注意

在页面显示的时候,也需要对数据进行(小数位)格式化,否则无效的0会被去掉。

上一篇:从云数据迁移服务看MySQL大表抽取模式的原理解析
下一篇:详解Mysql之mysqlbackup备份与恢复实践
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?