容易搞混的【数据库】类型
今天将excel中的数据导入到MYSQL数据中,因为EXCEL表中有经纬度类似于:
128.2881595635500
这么长的小数位数,不知道用什么数据类类型了?前后试了试 float double decimal numeric 这4中数据类型
经过查资料和测试得出以下结论:
1.float:浮点型(只显示7个有效位,对最后一位数四舍五入。)
2.double:双精度实型(只显示15个有效位,对最后一位四舍五入。)
3.decimal(numeric 同义):数字型,不存在精度损失,常用于银行帐目计算。(可以支持28位,对最后一位四舍五入。)
注:1、float和double的相乘操作,数字溢出不会报错,会有精度的损失。
2、当对decimal类型进行操作时,数值会因溢出而报错。
decimal(M,D)用法:
·M是数字的最大数(精度)。其范围为1~65(在较旧的MySQL版本中,允许的范围是1~254),M 的默认值是10。
·D是小数点右侧数字的数目(标度)。其范围是0~30,但不得超过M。
说明:float占4个字节,double占8个字节,decimail(M,D)占M+2个字节。
事例:如DECIMAL(5,2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。