原因:float保存的值有可能是这个值的近似值,而不是这个值的真实值。如 0.1在二进制中是没有办法保存真实值的。
下面是例子:
第一步:建表:
create table t2(x float,y decimal(30,8));
第二步:加入数据:
insert into t2(x,y) values(0.1,0.1);
第三步:查询:
select x,y,x*1000000000,y*1000000000 from t2;
从结果中可以看到 foalt的结果是精确的。
原因:float保存的值有可能是这个值的近似值,而不是这个值的真实值。如 0.1在二进制中是没有办法保存真实值的。
下面是例子:
第一步:建表:
create table t2(x float,y decimal(30,8));
第二步:加入数据:
insert into t2(x,y) values(0.1,0.1);
第三步:查询:
select x,y,x*1000000000,y*1000000000 from t2;
从结果中可以看到 foalt的结果是精确的。