本文主要是介绍关于mysql float类型字段比较 不准的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这里的cx_mode表中的guideprice是float类型,qys_data表中的qys_avgprice是int(11)类型
有一条记录a:qys_avgprice 266500,guideprice 25.65
####错误的sql语句
select a.provinceid,a.cityid,a.modeid,a.qys_avgprice,cast(b.guideprice as decimal(10,2))*10000
from qys_data a
left join cx_mode b on a.modeid=b.modeid
where a.provinceid>0 and a.cityid=-1
and a.qys_avgprice>b.guideprice*10000;
结果:会出现记录a
####正确的sql语句
select a.provinceid,a.cityid,a.modeid,a.qys_avgprice,cast(b.guideprice as decimal(10,2))*10000
from qys_data a
left join cx_mode b on a.modeid=b.modeid
where a.provinceid>0 and a.cityid=-1
and a.qys_avgprice>cast(b.guideprice as decimal(10,2))*10000;
结果:不会出现记录a
这篇关于关于mysql float类型字段比较 不准的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!