问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

MySQL中Decimal类型和Float Double的区别

发布网友 发布时间:2022-04-22 10:28

我来回答

1个回答

热心网友 时间:2022-04-07 17:26

float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值,float和double都是浮点型,而decimal是定点型;
MySQL 浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)的 可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。
FLOAT和DOUBLE在不指 定精度时,默认会按照实际的精度来显示,而DECIMAL在不指定精度时,默认整数为10,小数为0。
1、CREATE TABLE test(f FLOAT(5,2) DEFAULT NULL,d DOUBLE(5,2) DEFAULT NULL,de DECIMAL(5,2) DEFAULT NULL);
2、DESC test;

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

数据插入都正确
4、INSERT INTO test(f,d,de) VALUES(1.234,1.234,1.23);

数据插入都正确,但是f和d由于标度的*,舍去了最后一位。
5、INSERT INTO test(f,d,de) VALUES(1.234,1.234,1.234);

数据也插入成功,但是有一个警告提示:
1 queries executed, 1 success, 0 errors, 1 warnings
Note Code : 1265
Data truncated for column 'de' at row 1

6、将id1,id2,id3的精度和标度都去掉
ALTER TABLE test MODIFY f FLOAT;
ALTER TABLE test MODIFY d DOUBLE;
ALTER TABLE test MODIFY de DECIMAL;
DELETE FROM test;
DESC test;

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

1 queries executed, 1 success, 0 errors, 1 warnings
Note Code : 1265
Data truncated for column 'de' at row 1
f和d的数据正确插入,而de被截断。
浮点数如果不写精度和标度,则会按照实际显示,如果有精度和标度,则会将数据四舍五入后插入,系统不报错,定点数如果不设置精度和标度,刚按照默认的(10,0)进行操作,如果数据超过了精度和标度值,则会警告!

同时,对数据求SUM()时会出现不同的结果,float和double求SUM都会出现很多小数点,而decimal求SUM得到的是精准数值:
8、INSERT INTO test(f,d,de) VALUES(1.234,0.01,1.23);

数据都插入成功
9、SELECT SUM(f),SUM(d),SUM(de) FROM test;

理论上SUM(f)=3.698,SUM(d)=2.474,SUM(de)=3.46,但f,d都出现后面很长的一串浮点小数点。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
赵玉平名家论坛 赵玉平人物经历 杭州市汽车西站 现在能提前几天售票啊? 请问杭州西站汽车票可以提前几天买? 杭州汽车西站在节假日的时候需要提前买票的吗 散步有助于减肥吗 魑瑟忝箜莫尘读什么 端午送什么 端午节家里要摆放什么东西 龙舟是如何制作的? mysql中要存储小数用什么类型数据好? mysql去掉小数取整(不是四舍五入),该怎么处理 mysql对小数格式化 mysql类型 MySQL中ROUND和TRUNCATE的区别 请教MYSQL四舍五入的问题 mysql有哪些数据类型 mysql中float用什么类型 MySQL白菜教程(Level 3) Mysql中设置小数点用什么数据类型 decimal mysql里面的东西都是做什么用的 mysql怎么修改一个里的多个字段内容? mysql 数据类型的详解 mysql 四舍五入函数,小数是5不入? mysql 某列的数字四舍五入语句 mysql四舍五入 如何实现MySQL四舍五入 支付宝里面的那个相互宝怎么加入怎么退出 支付宝里的相互宝是怎么个形式,值得加入么? 相互宝公共交通意外互助计划是骗人的吗? 《炎月战记》最新txt全集下载 龙之谷破晓奇兵莉雅的衣服是什么 龙之谷破晓奇兵莉雅的胸被谁袭,有图吗? 从零开始异世界生活圣域篇是最后一篇吗 精灵王座里的莉雅跟破晓奇兵里的莉雅有什么区别吗? 求龙之谷破晓奇兵中精灵莉雅的高清图!越多越好! 克利翁名媛舞会的挑选规则 暗黑破坏神3对话成就怎么做 暗黑3谈话的艺术成就攻略 服务器光模块不装有什么影响 服务器光模块和交换机光模块通用吗 <<HERO>>玛莉雅凯莉唱的,麻烦翻译成中文的 什么是光纤服务器? 海豹的眼泪是哪个国家的民间故事? 服务器上怎么接光纤 服务器光纤和网口指示灯亮啥颜色的灯是正常的 娜梅莉亚的冰原狼 租服务器光算云.怎么预约 龙之谷破晓奇兵的莉雅为什么会跟兰伯侍亲嘴 如何判断服务器有没有光口 莲花宝监小说中杜晨最后怎样了