- 论坛徽章:
- 9
|
原帖由 linuxmqb 于 2009-8-11 16:41 发表 ![]()
Mysql中有decimal及float的数据类型﹐decimal是用字符串保存﹐占用空间大但准确度高(不会失真)﹐但float就会失真。我想问下﹐在实际的设计中如价格或长度的数据类型是选择decimal还是float? 我在网上看到有人选 ...
当float用于计算时就会出现失真
mysql> create table tstflt (floatnum float,decimalnum decimal(6,3));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into tstflt values ( 1.002,1.002);
Query OK, 1 row affected (0.00 sec)
mysql> insert into tstflt values ( 1.003,1.003);
Query OK, 1 row affected (0.00 sec)
mysql> select floatnum*2,decimalnum*2 from tstflt;
+------------------+--------------+
| floatnum*2 | decimalnum*2 |
+------------------+--------------+
| 2.00399994850159 | 2.004 |
| 2.00600004196167 | 2.006 |
+------------------+--------------+
|
|
|