关于MySQL的小数表示,浮点数与定点数,float,doube,decimal

浮点数类型:float单精度,double双精度
定点数类型:decimal,默认decimal(10,0)

float占4bytes,double占8bytes,
而decimal的存储要求,整数和小数部分分别计算,每9位数字占用4bytes,而不足9位的,占用情况如下:
在这里插入图片描述
需要注意的是,如果小数位不够,采用四舍五入的方法存储,如:


mysql> desc test;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| a     | float(3,2)   | YES  |     | NULL    |       |
| b     | double(3,2)  | YES  |     | NULL    |       |
| c     | decimal(3,2) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> insert into test values (1.236,1.236,1.236);
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> show warnings;
+-------+------+----------------------------------------+
| Level | Code | Message                                |
+-------+------+----------------------------------------+
| Note  | 1265 | Data truncated for column 'c' at row 1 |
+-------+------+----------------------------------------+
1 row in set (0.00 sec)

mysql> select * from test;
+------+------+------+
| a    | b    | c    |
+------+------+------+
| 1.24 | 1.24 | 1.24 |
+------+------+------+
1 row in set (0.00 sec)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值