MySQL的Double字段计算后的结果不对
这是为什么?
mysql版本号是 5.1.32-community
计算结果的错误是在自己程序中发现的,用MySQL控制台模拟了一下操作,还是如此。
请教大家,这是什么原因造成的?谢谢~
use test;
drop table if exists test999;
create table test999 (f1 double);
insert into test999(f1)values(0.999999999999886);
select f1 - 1 from test999;
select 0.999999999999886-1 from test999;
运行结果:
mysql> select f1 - 1 from test999;
+---------------------+
| f1 - 1 |
+---------------------+
| -1.14019904629e-013 |
+---------------------+
mysql> select 0.999999999999886-1 from test999;
+---------------------+
| 0.999999999999886-1 |
+---------------------+
| -0.000000000000114 |
+---------------------+
浮点运算误差,很正常,一般语言中也如此
嗯。谢谢你提的解决方案。
不过还想多麻烦一下,为什么两个应该同样的结果却不一样?
1.浮点运算误差引起
2.输出格式的关系,好像在my.ini中可以改,具体查一下mysql手册
嗯。多谢了,我去好好研究下
相关问答:
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......
环境:win2003 apache2 resin3 php5 mysql5
mysql错误里出现这个,服务器直接死到那里。
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_log ......
如题 数据是BLOB类型 怎么才能修改其中的某些值
BLOB中存入的是什么内容?
假设字段memo为blob类型,在该字段的值前面增加字符串'add--'
则操作语句如下:
SQL code:
update tb_blog set memo=concat( ......
我用的like模糊查询,比如mysql的name中有“csdn论坛系统”这几个字,如何在 <input>中查询“csdn 系统”也能出来这个“csdn论坛系统”,我现在是查“csdn”或者“系统”都可以。谢谢各位了!不知道我这么表达 ......