「卓象程序员」MySQL数据类型-decimal详解
时间: 2019-09-16 09:40:07 来源: 卓象IT实训基地【原创】
介绍
在设计数据库时,如果你要存储价格之类带小数点的数据,们一般比如价格,我会用decimal类型,不会考虑float,double,因为他们容易产生误差,numeric和decimal同义,numeric将自动转成decimal。
ps: 至于为什么会产生误差,请看我的另外一篇文章: php中浮点数计算问题
用法
DECIMAL从MySQL 5.1引入,列的声明语法是DECIMAL(M,D)。
在MySQL 5.1中,参量的取值范围如下:
·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。
·D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。
说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。
如DECIMAL(5,2) 的最大值为9999.99,因为有7 个字节可用。
结论
1. 当数值在其取值范围之内,小数位多了,则小数会四舍五入。
2. 若数值在其取值范围之外,则用最大(小)值对其填充。
每日分享技术干货~
报名卓象免费训练营课程
学习最新热门IT技术
找一份自己满意的高薪工作
15天免费学习!!
卓象程序员
★ 零基础,随时体验
★ 免费试听,满意后再报名
★ 小班授课,学习氛围浓厚
★ 口碑相传,80%学员来自口碑推荐
★ 教学严管,闯关式学习保障学习效果
★ 公司地点,哈尔滨市东直路123号7楼