精确存放超过1亿并且有两位小数的话,用什么类型?float可以吗? 精确存放超过1亿并且有两位小数的话,用什么类型?float可以吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 mysql> alter table t modify F decimal(12,2);Query OK, 8 rows affected (0.77 sec)Records: 8 Duplicates: 0 Warnings: 0 mysql> update t set f=100000000.34;Query OK, 8 rows affected (0.00 sec)Rows matched: 8 Changed: 8 Warnings: 0 mysql> select * from t;+------+------+--------------+| id | name | F |+------+------+--------------+| 1 | NULL | 100000000.34 || 2 | NULL | 100000000.34 || 3 | NULL | 100000000.34 || 4 | NULL | 100000000.34 || 5 | NULL | 100000000.34 || NULL | a | 100000000.34 || NULL | a | 100000000.34 || 11 | b | 100000000.34 |+------+------+--------------+8 rows in set (0.00 sec) 用decimalfloat是非精度浮点数 用bigint用的时候,计算后再除100即可,以避免浮点数运算误差。 这句话SQL为什么不行? 请教Mysql数据查询速度的问题 请教 两个数据库内的表是不是不能重名? mysql库调用的问题。很奇怪,在LINUX下。 紧急求救MySQL中Group By 问题! mysql5.0下查询数据时碰到的乱码问题 求MYSQL的使用教材 很菜的问题,DBExpress连接MySQL..... 这种过滤查询语句该怎么写? mysql vs2010 c++.net 执行mysql_query(load)语句出现中断错误 如何快速找出不同记录,注意效率,注意效率.谢谢 mysql客户端查询不到最新数据的问题
Query OK, 8 rows affected (0.77 sec)
Records: 8 Duplicates: 0 Warnings: 0
mysql> update t set f=100000000.34;
Query OK, 8 rows affected (0.00 sec)
Rows matched: 8 Changed: 8 Warnings: 0
mysql> select * from t;
+------+------+--------------+
| id | name | F |
+------+------+--------------+
| 1 | NULL | 100000000.34 |
| 2 | NULL | 100000000.34 |
| 3 | NULL | 100000000.34 |
| 4 | NULL | 100000000.34 |
| 5 | NULL | 100000000.34 |
| NULL | a | 100000000.34 |
| NULL | a | 100000000.34 |
| 11 | b | 100000000.34 |
+------+------+--------------+
8 rows in set (0.00 sec)
float是非精度浮点数
用的时候,计算后再除100即可,以避免浮点数运算误差。