发现mysql 4.0.18 for nt 的sum函数的计算误差
2004-10-01 11:47
260 查看
发现mysql 4.0.18 for nt 的sum函数的计算误差
mysql> create table ch3(ID char(32), V decimal(18,2));
Query OK, 0 rows affected (0.12 sec)
mysql> insert into ch3 select * from vc2;
Query OK, 8192 rows affected (1.24 sec)
Records: 8192 Duplicates: 0 Warnings: 0
mysql> select max(v) from ch3;
+-------------+
| max(v) |
+-------------+
| 99999999.99 |
+-------------+
1 row in set (1.17 sec)
mysql> select min(v) from ch3;
+-------------+
| min(v) |
+-------------+
| 99999999.99 |
+-------------+
1 row in set (1.17 sec)
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819199999918.02 |
+-----------------+
1 row in set (0.08 sec)
mysql> update ch3 set v=100000000;
Query OK, 8192 rows affected (0.12 sec)
Rows matched: 8192 Changed: 8192 Warnings: 0
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819200000000.00 |
+-----------------+
1 row in set (0.06 sec)
mysql> update ch3 set v=100000000-0.01;
Query OK, 8192 rows affected (0.25 sec)
Rows matched: 8192 Changed: 8192 Warnings: 0
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819199999918.02 |
+-----------------+
1 row in set (0.08 sec)
mysql> update ch3 set v=100000000+0.01;
Query OK, 8192 rows affected (0.23 sec)
Rows matched: 8192 Changed: 8192 Warnings: 0
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819200000081.98 |
+-----------------+
1 row in set (0.09 sec)
mysql> select 99999999.99*8192;
+------------------+
| 99999999.99*8192 |
+------------------+
| 819199999918.08 |
+------------------+
1 row in set (0.00 sec)
mysql> create table ch3(ID char(32), V decimal(18,2));
Query OK, 0 rows affected (0.12 sec)
mysql> insert into ch3 select * from vc2;
Query OK, 8192 rows affected (1.24 sec)
Records: 8192 Duplicates: 0 Warnings: 0
mysql> select max(v) from ch3;
+-------------+
| max(v) |
+-------------+
| 99999999.99 |
+-------------+
1 row in set (1.17 sec)
mysql> select min(v) from ch3;
+-------------+
| min(v) |
+-------------+
| 99999999.99 |
+-------------+
1 row in set (1.17 sec)
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819199999918.02 |
+-----------------+
1 row in set (0.08 sec)
mysql> update ch3 set v=100000000;
Query OK, 8192 rows affected (0.12 sec)
Rows matched: 8192 Changed: 8192 Warnings: 0
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819200000000.00 |
+-----------------+
1 row in set (0.06 sec)
mysql> update ch3 set v=100000000-0.01;
Query OK, 8192 rows affected (0.25 sec)
Rows matched: 8192 Changed: 8192 Warnings: 0
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819199999918.02 |
+-----------------+
1 row in set (0.08 sec)
mysql> update ch3 set v=100000000+0.01;
Query OK, 8192 rows affected (0.23 sec)
Rows matched: 8192 Changed: 8192 Warnings: 0
mysql> select sum(v) from ch3;
+-----------------+
| sum(v) |
+-----------------+
| 819200000081.98 |
+-----------------+
1 row in set (0.09 sec)
mysql> select 99999999.99*8192;
+------------------+
| 99999999.99*8192 |
+------------------+
| 819199999918.08 |
+------------------+
1 row in set (0.00 sec)
相关文章推荐
- Mysql的sum函数
- 2.安装号mysql后当重启Linux服务器之后发现进入不了的解决方案
- mysql日常 bug发现
- 重装mysql方法,在重装MYSQL的时候发现要输入current root password
- 发现Navivat for MySQL有一个数据表分组功能,用起来很方便!(图文)
- linux下安装mysql发现ncurses冲突,使用源码安装
- Zabbix 自动发现并监控 MySQL
- zabbix自动发现mysql端口并监控
- mysql中的小发现
- Mysql重要发现
- 发现Navivat for MySQL有一个数据表分组功能,用起来很方便!(图文)
- 安装mysql发现mysql对应的数据库user表内容是空的
- mysql安装完之后,登陆后发现只有两个数据库
- mysql插入int字段可以使用单引号包含?今天改东西无意发现时间字段成int类型了,而且update这个字段用单引号包含,于是在MySQL上测试下能运行,求解
- 发现一个不错的网址,学习mysql配置。
- 从偶然的机会发现一个mysql特性到wooyun waf绕过题
- SQLSERVER 链接 MYSQL 的 两种方法 及 未发现数据源名称并且未指定默认驱动程序 处理办法
- 解决mysql不能被远程访问,找到两篇文章,发现都可以
- Oracle,Mysql,SQL Server等数据库取前N条记录的不同写法 (有点发现)
- 如何发现mysql权限、表结构的变化