MySql数据类型分析(数值(小数型)类型) Part2

一.小数型 包括两种类型:

1.浮点型 Float(M,D)

2.定点型 decimal(M,D)


二.M,D分析

1.小数型中的M和整数中的M 大不相同

2.整数中的M 与所存数据的大小没有关系,只在有ZEROFILL修饰符时,控制显示填充零的为数有关。

3.小数中的M与所存数据的大小有必然关系,假如 申请类型为:float(6,2):其中,6代表小数类型为 不包括小数点在内为6为,其中2代表小数位,因此,能存入-9999.99到+9999.99

4.如果Float(6,2) 带有标示符 Unsigned,则此数据类型的存储范围为:0.00到+9999.99

举例:

创建表goods:

create table goods

(

name varchar(10) not null default ' ',

price float(6,2) not null default 0.00

) charset utf8;

插入一条数据:

insert into goods

(name,price)

values

('跑步机',688.896);


点击回车,执行成功;

三.大家可以看到,已经成功插入到goods表中,

其中,小数 688.896 经舍入法 进行了截取,

Mysql中默认的舍入法 是 银行家舍入法,下一篇将说明 银行家舍入法


四.定点类型

decimal(M,D)

分析:

1.定点类型和浮点类型 用法差不多,区别就是定点类型的精度比浮点类型的精度高。

举例:

在foods表中增加两列

alter table foods

add

bigprice float(9,2) not null default 0.00;

alter table foods

add

decimprice decimal(9,2) not null default 0.00;


插入一条数据:

insert into foods

(name,bigprice ,decimprice )

values

('自行车',1234567.23,1234567.23);


执行结果:

由此看出,decimal类型更精确


五.小数类型在内存中占用的字节

小数类型在内存中占用的字节数是固定的,并不是说,你输入M的值大,字节数就会变大。

小数类型 在计算机中占用4个字节,或8个字节,小数类型的计算非常复杂。


posted @ 2014-04-09 10:57  夏日凉风  阅读(221)  评论(0编辑  收藏  举报