请选择 进入手机版 | 继续访问电脑版

MySQL中的数据类型之浮点型

[复制链接]
查看1469 | 回复0 | 2020-9-29 10:16 | 显示全部楼层 |阅读模式
MySQL中的数据类型之浮点型
浮点型
占用字节数
范围
float(单精度型)4-3.4E+38~3.4E+38
double(双精度型)8-1.8E+308~1.8E+308
浮点型的声明:float(M,D)   double(M,D)
  1. M:总位数   D:小数位数
复制代码
案例:
  1. mysql> create table stu5(
  2.     -> num1 float(5,2),   -- 浮点数
  3.     -> num2 double(6,1)          -- 双精度数
  4.     -> );
  5. Query OK, 0 rows affected (0.05 sec)

  6. mysql> insert into stu5 values (3.1415,12.96);
  7. Query OK, 1 row affected (0.00 sec)

  8. mysql> select * from stu5;
  9. +------+------+
  10. | num1 | num2 |
  11. +------+------+
  12. | 3.14 | 13.0 |
  13. +------+------+
  14. 1 row in set (0.00 sec)
复制代码
MySQL浮点数支持科学计数法
  1. mysql> create table stu6(
  2.     -> num float   # 不指定位数,默认是小数点后面6位  double默认是17位
  3.     -> );
  4. Query OK, 0 rows affected (0.03 sec)

  5. mysql> insert into stu6 values (5E2),(6E-2); # 插入科学计数法
  6. Query OK, 2 rows affected (0.00 sec)
  7. Records: 2  Duplicates: 0  Warnings: 0

  8. mysql> select * from stu6;
  9. +------+
  10. | num  |
  11. +------+
  12. |  500 |
  13. | 0.06 |
  14. +------+
  15. 2 rows in set (0.00 sec)
复制代码
浮点数精度会丢失
  1. mysql> insert into stu6 values(99.999999999);
  2. Query OK, 1 row affected (0.00 sec)

  3. mysql> select * from stu6;
  4. +------+
  5. | num  |
  6. +------+
  7. |  100 |
  8. +------+
复制代码
小结:
1、浮点数有单精度和双精度2、浮点数支持科学计数法3、浮点数精度会丢失
3、小数(定点数)
原理:将整数部分和小数部分分开存储
语法:
  1. decimal(M,D)
复制代码
案例:
  1. mysql> create table stu8(
  2.     -> num decimal(20,9)   # 存放定点数
  3.     -> );
  4. Query OK, 0 rows affected (0.00 sec)

  5. mysql> insert into stu8 values(12.999999999);
  6. Query OK, 1 row affected (0.00 sec)

  7. mysql> select * from stu8;
  8. +--------------+
  9. | num          |
  10. +--------------+
  11. | 12.999999999 |
  12. +--------------+
  13. 1 row in set (0.00 sec)
复制代码
小结:
1、decimal是变长的,大致是每9个数字用4个字节存储,整数和小数分开计算。M最大是65,D最大是30,默认是(10,2)。2、定点和浮点都支持无符号、显示宽度0填充。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

UID
1
贡献
387
丢币
38902
主题
4607
回帖
116
注册时间
2018-9-25
最后登录
2024-3-24