float类型表示单精度浮点数值,double类型表示双精度浮点数值,float和double都是浮点型,而decimal是定点型;

MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(5,2)的 可显示为999.99,MySQL保存值时会进行四舍五入,如果插入999.009,则结果为999.01。

float和double在不指定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。

先创建一个表:

CREATE TABLE test(
f FLOAT(10,2) DEFAULT NULL,
d DOUBLE(10,2) DEFAULT NULL,
de DECIMAL(10,2) DEFAULT NULL
);

insert三条数据如下所示:

INSERT INTO test(f,d,de) VALUES(1.23,1.23,1.23);
INSERT INTO test(f,d,de) VALUES(1.234,1.234,1.23);
INSERT INTO test(f,d,de) VALUES(1.234,1.234,1.234);

然后修改表结构并新增一条数据:

ALTER TABLE test MODIFY f FLOAT;
ALTER TABLE test MODIFY d DOUBLE;
INSERT INTO test(f,d,de) VALUES(1.234,1.234,1.234);

此时计算求和值如下图所示:

SELECT SUM(f),SUM(d),SUM(de) FROM test;

float和double求SUM的结果都是不精确的,只有decimal求SUM得到的是精准数值:

所以,decimal 类型是适合财务和货币计算的128位数据类型。

https://blog.csdn.net/t1anyuan/article/details/70169524

https://blog.csdn.net/hanghangde/article/details/50483779?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

http://www.zzvips.com/article/87497.html

MySQL数据库存储价格金额使用的数据类型中float、double、decimal的区别相关推荐

  1. mysql float 怎么设置长度_MySQL中float double decimal区别总结

    作者:极客小俊 一个专注于web技术的80后 你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人! 下表中规划了每个浮点类型的存储大小和范围: 类型大小范围(有符号)范围(无符号)用途fl ...

  2. MySQL—05—MySQL如何处理SQL语句;MySQL数据库存储引擎介绍;

    一. MySQL 中的执行计划 1 MySQL 执行计划 在 MySQL 中可以通过 explain 关键字模拟优化器,执行 SQL 语句,从而知道 MySQL 是 如何处理 SQL 语句的. 2 M ...

  3. 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...

    本文实例讲述了Python3爬虫学习之MySQL数据库存储爬取的信息.分享给大家供大家参考,具体如下: 数据库存储爬取的信息(MySQL) 爬取到的数据为了更好地进行分析利用,而之前将爬取得数据存放在 ...

  4. ubuntu mysql数据储存在哪里_如何更改在Ubuntu下的MySQL数据库存储位置?

    在默认的数据库存储位置下就会有个文件夹mysqldb.要操作数据库首先得停止数据库进程: $sudo /etc/init.d/mysql stop 本文以转移到/home/mysql这个位置为例,下面 ...

  5. 【笔记11】uniapp点击复制;mysql数据库存储emoji表情;Java 二维码生成;uniapp引入自定义图标

    目录 前言 一.uniapp 实现点击复制某段文本 二.MySQL 数据库存储 emoji 表情 三.Layui 的富文本编辑器 四.谷歌 Java 二维码生成 (1) 引入 MAVEN 依赖 五.微 ...

  6. Mysql数据库存储的原理

    Mysql数据库存储的原理 Mysql储存过程简介 Mysql数据库存储的优点 1.存储过程能实现较快的执行速度. 2.存储过程允许标准组件是编程. 3.存储过程可以用流控制语句编写,有很强的灵活性, ...

  7. mysql 设置数据库路径_MySQL数据库之更改Mysql数据库存储位置的具体步骤

    本文主要向大家介绍了MySQL数据库之更改Mysql数据库存储位置的具体步骤 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 一.首先把mysql的服务先停掉. 二.更改MySQ ...

  8. mysql数据库存储引擎和索引的描述_Mysql InnoDB引擎的索引与存储结构详解

    前言 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的. 而MySql数据库提供了多种存储引擎.用户可以根据不同的需求为数据表选择不同的存储引擎,用户也 ...

  9. mysql数据库邮箱什么类型_MySQL的数据类型介绍

    MySQL的数据类型介绍 发布时间:2020-06-01 20:57:09 来源:亿速云 阅读:154 作者:鸽子 由于Mysql独有的特性和实现细节对性能的影响是很明显的,因为做好Mysql数据库的 ...

最新文章

  1. 一步一步Asp.Net MVC系列_权限管理总结(附MVC权限管理系统源码)
  2. Mask_YOLO_Caffe:基于Mask-RCNN和YOLO检测的工程实现(附源代码)
  3. sql2000 的bcp命令
  4. 03_Android项目中读写文本文件的代码
  5. 汇编语言 利用ASCII以及AND OR进行字符串大小写转换
  6. 大根堆的删除c语言,小根堆大根堆的动态创建与堆顶元素删除
  7. 调用某个按钮事件_Event 对象之事件句柄 (Event Handlers)
  8. mac使用codelite运行程序没有输出
  9. ios查看帧率的软件_查看iOS屏幕帧数MGFPSStatus
  10. android 将鼠标右键点击事件改为点击后返回功能
  11. 日常生活记账的账本你知道吗
  12. 如何调试微信浏览器内嵌H5
  13. Java敏感词过滤 工具类
  14. 石家庄地铁(李秦,王学云)2
  15. CAJ阅读器相关问题
  16. 答题器真的什么问题都能答出来吗?
  17. Photoshop CC 2018快捷键大全!
  18. python爬取电影评分_python爬取豆瓣电影排行榜(requests)的示例代码
  19. Windows 常用组合键(热键)
  20. Docker的降维打击是怎么利用天时地利人和的?看这一篇就够了

热门文章

  1. 用命令卸载Win8 IE9/IE10/IE11浏览器
  2. 优雅的绕过校园网认证实现免费上网
  3. Mysql高级——索引篇
  4. Eclipse - undefined reference to sin - cos - exp - sqrt - pow
  5. 查找论文和代码实现的网站
  6. 拥有良好的社交和友谊会使肠道微生物群更健康
  7. Python 一个抓取糗百的段子的小程序
  8. nginx启动成功,但是访问不了页面解决办法
  9. firewall 端口转发
  10. python爬取王者荣耀皮肤集