千家信息网

mysql中float 和double类型的作用是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,mysql中float 和double类型的作用是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。float doub
千家信息网最后更新 2026年11月01日mysql中float 和double类型的作用是什么

mysql中float 和double类型的作用是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

float double类型

1.float类型
float列类型默认长度查不到结果,必须指定精度,
比如 num float, insert into table (num) values (0.12); select * from table where num=0.12的话,empty set。
num float(9,7), insert into table (num) values (0.12); select * from table where num=0.12的话会查到这条记录。

mysql> create table tt
-> ( www.2cto.com
-> num float(9,3)
-> );
Query OK, 0 rows affected (0.03 sec)

mysql> insert into tt(num)values(1234567.8);
ERROR 1264 (22003): Out of range value for column 'num' at row 1
注:超出字段范围,无法插入

mysql> insert into tt(num)values(123456.8);
Query OK, 1 row affected (0.00 sec)

mysql> select * from tt;
+------------+
| num |
+------------+
| 123456.797 |
+------------+
1 row in set (0.00 sec)
注:小数位数不够,自动补齐,但是存在一个问题就是如上的近似值。

mysql> insert into tt(num)values(123456.867);
Query OK, 1 row affected (0.04 sec)

mysql> select * from tt;
+------------+ www.2cto.com
| num |
+------------+
| 123456.797 |
| 123456.797 |
| 123456.867 |
+------------+
3 rows in set (0.00 sec)

mysql> select * from tt where num=123456.867;
+------------+
| num |
+------------+
| 123456.867 |
+------------+
1 row in set (0.00 sec)

mysql> insert into tt(num)values(2.8);
Query OK, 1 row affected (0.04 sec)

mysql> select * from tt;
+------------+
| num |
+------------+
| 123456.797 |
| 123456.797 |
| 123456.867 |
| 2.800 |
+------------+
4 rows in set (0.00 sec)

mysql> select * from tt where num=2.8;
+-------+ www.2cto.com
| num |
+-------+
| 2.800 |
+-------+
1 row in set (0.00 sec)

mysql> insert into tt(num)values(2.888888);
Query OK, 1 row affected (0.00 sec)

mysql> select * from tt;
+------------+
| num |
+------------+
| 123456.797 |
| 123456.797 |
| 123456.867 |
| 2.800 |
| 2.889 |
+------------+
5 rows in set (0.00 sec)
注:小数位数超了,自动取近似值。
--------------------------------------------------------------------------------------
2.double类型

mysql> create table tt(
-> num double(9,3)
-> );
Query OK, 0 rows affected (0.02 sec)

mysql> insert into tt(num) values(234563.9);
Query OK, 1 row affected (0.00 sec)
www.2cto.com
mysql> select * from tt;
+------------+
| num |
+------------+
| 234563.900 |
+------------+
1 row in set (0.00 sec)

mysql> insert into tt(num) values(2345623.2);
ERROR 1264 (22003): Out of range value for column 'num' at row 1
mysql> insert into tt(num) values(234563.2);
Query OK, 1 row affected (0.00 sec)

mysql> select * from tt;
+------------+
| num |
+------------+
| 234563.900 |
| 234563.200 |
+------------+
2 rows in set (0.00 sec)

mysql> insert into tt(num) values(2.8);
Query OK, 1 row affected (0.00 sec)

mysql> select * from tt;
+------------+
| num |
+------------+
| 234563.900 |
| 234563.200 |
| 2.800 |
+------------+
3 rows in set (0.00 sec)
www.2cto.com
FLOAT(M,D)或REAL(M,D)或DOUBLE PRECISION(M,D)。这里,"(M,D)"表示该值一共显示M位整数,其中D位位于小数点后面。
例如,定义为FLOAT(7,4)的一个列可以显示为-999.9999。MySQL保存值时进行四舍五入,因此如果在FLOAT(7,4)列内插入999.00009,近似结果是999.0001。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

类型 小数 位数 结果 近似值 帮助 作用 清楚 四舍五入 不够 内容 如上 字段 对此 小数点 就是 整数 文章 新手 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 美国互联网科技巨头监管 重庆互联网络科技 杭州互联网科技公司 深圳天众互联网科技公司 深圳艾佳互联网科技 大白互联网科技 新华互联网科技校企合作 青海省互联网新科技 汉立互联网科技有限公司联系电话 亳州好赞互联网科技有限公司 深圳市罗太互联网科技有限公司 南博望互联网科技有限公司 互联网第三次科技革命特征 深圳无忧互联网科技 广东鹅鹅鹅互联网科技有限公司 容联科技互联网电商 互联网科技企业商标注意事项 恒生科技互联网指数十大成分股 互联网 科技节活动 微视频大赛 山东特亿宝互联网科技有限公司 疫情对互联网科技公司影响 互联网金融与金融科技 南京欣网互联网科技 广州善班互联网科技 一五八零互联网科技 互联网科技与管理 重庆互联网医院沙龙医盟信息科技 广州新华互联网科技学校电竞方面 怎样加入科技互联网
0