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個位元組,小數型別的計算非常複雜。