MySQL数据库支持两种浮点类型:单精度的FLOAT类型及双精度的DOUBLEPRECISION类型。这两种类型都是非精确的类型,经过一些操作后并不能保证运算的正确性,例如M*G/G不一定等于M,虽然数据库内部算法已经使其尽可能的正确,但是结果还会有偏差。国内某些财务软件在其数据库内使用FLOAT类型作为工资类型,个人觉得并不是一件值得推崇的事情

FLOAT类型用于表示近似数值数据类型。SQL标准允许在关键字FLOAT后面的括号内用位来指定精度(但不能为指数范围)。MySQL还支持可选的只用于确定存储大小的精度规定。0到23的精度对应FLOAT列的4字节单精度,24到53的精度对应DOUBLE列的8字节双精度。

MySQL允许使用非标准语法:FLOAT(M,D)或REAL(M,D)或DOUBLEPRECISION (M,D)。这里,(M,D)表示该值一共显示M位整数,其中D位是小数点后面的位数。例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL在保存值时会进行四舍五入,因此在FLOAT(7,4)列内插入999.00009的近似结果是999.0001。

MySQL将DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词,将REAL视为DOUBLE PRECISION(非标准扩展)的同义词。若将MySQL服务器的模式设置为REAL_AS_FLOAT,那这时REAL将被视为FLOAT类型。

为了保证最大的可移植性,需要使用近似数值数据值存储的代码,使用FLOAT或DOUBLE PRECISION,并不规定精度或位数。

CREATE TABLE temp2
(id  FLOAT(10, 2),id2 DOUBLE(10, 2),id3 DECIMAL(10, 2)
);INSERT INTO temp2
VALUES (1234567.21, 1234567.21, 1234567.21),(9876543.21, 9876543.12, 9876543.12);
select * from temp2;
id   id2 id3
1234567.25  1234567.21  1234567.21
9876543.00  9876543.12  9876543.12

思考
为何float的值与插入的不一样?

总结

  • float和double为非精确类型

Mysql 浮点型入门相关推荐

  1. MySQL基础入门【3】

    文章目录 13 补充知识,查询结果的去重 14 连接查询 14.1 什么是连接查询? 14.2 连接查询的分类? 14.3 基础知识 补充,表的别名 14.4 内连接 等值连接 非等值连接 自连接 1 ...

  2. mysql从入门到精通之数据库安装图解

    Mysql是基于C/S架构的.客户端/服务器Clinent /Server 安装版本建议:对于开源软件,不要追求最新的版本,最好是经过线上测试比较稳定的,也就是生产环境中的稳定版的,请务必选用稳定版本 ...

  3. MySQL 快速入门教程

    转:MySQL快速 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据 ...

  4. 一、mysql使用入门

    一.mysql使用入门 1 mysql -h localhost -u root -p123456 登录mysql服务器 2 show databases 列出所拥有的数据库 3 use www 选择 ...

  5. mysql数据库入门教程(11):视图讲解大全

    一.视图的介绍 含义:虚拟表,和普通表一样使用 mysql5.1版本出现的新特性,是通过表动态生成的数据 举例说明什么是视图:假设一个年级有10个班,上面有领导来啦,说要检查舞蹈功底,学校为了应付检查 ...

  6. mysql数据库入门教程(6):数据的增删改

    前面两篇博文介绍了数据库的查询 mysql数据库入门教程(4):查询讲解大全 mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询) 今天介绍下数据库的增删改. 数据库基本操 ...

  7. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

  8. mysql thread入门分析

    MySQL thread入门分析 今天下午和群里的朋友讨论mysql的thread pool,讨论的非常热闹,收获不少,借此自己也总结下thread,以备忘.下面贴上lidan的图片: Mysql支持 ...

  9. [MySQL光速入门]012 作业解答

    实训内容二 使用算数运算符-, 查询最低借阅量与最高借阅量的差值 select max(borrowsum)-min(borrowsum) as 差值 from book; 复制代码 使用比较运算符( ...

最新文章

  1. Python爬虫之urllib模块2
  2. RecyclerView显示加载多种布局的原理
  3. shell判断false_Python中的True, False条件判断
  4. 【Java面试题】3 Java中使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?超详细解析...
  5. 6. Nginx + PHP + FastGCI安装
  6. 如何设置tomcat的默认应用。
  7. 举例 微积分 拉格朗日方程_Euler-Lagrange Equation (欧拉-拉格朗日方程)推导
  8. 水表多标签训练问题总结
  9. VM Depot 镜像新增系列III – 社交媒体,内容管理 与 项目协同系统
  10. C Traps:运算
  11. 21模块-orientation【管理设备的方向信息】
  12. ORACLE 10g下载地址
  13. 支付宝当面付扫码支付支付后不回调_新开支付宝不满90天当面付收款第二天到账怎么办?如何实现秒到而不是冻结的来看看吧!...
  14. 什么是OCR?如何使用OCR文字识别软件?
  15. 电脑间通过串口传输数据【串口练习】
  16. 小程序 消息推送配置token无效(解决方法)订阅消息
  17. Unity3D连接本地或局域网MySQL数据库
  18. java-清楚明了的集合
  19. CSS3实现旋转图片相册
  20. 虚拟机如何支持硬件虚拟化

热门文章

  1. 文本编辑框鼠标丢失问题
  2. 三层路由详解、为什么要划分vlan,vlan的作用是什么?
  3. python 欢迎自己程序编写_神操作!一句查询让Python帮忙自己写程序
  4. 学python lesson2
  5. java list 分组_Java8 快速实现List转map 、分组、过滤等操作
  6. 现浇板用弹性计算方法_自建房砖混结构现浇楼板配筋的要求和计算方法
  7. 樊登高效休息法心得400字_超级干货!让你快速恢复精力的高效休息法!!
  8. php中的echo单引号_PHP 邮件漏洞小结
  9. 电脑练习打字软件_极速字根练习软件电脑版下载-极速字根练习软件免费版v0.1 最新版...
  10. linux脚本编程教程,shell脚本编程基础教程