tp5链式查询的条件中float精度问题

浏览:949 发布日期:2017/12/17 分类:ThinkPHP5专区 关键字: sql float 链式查询 问题
例如,在mysql表中只存在一条float类型的start_mile字段等于1663.2的这条记录。

在mysql的查询窗口中这样写,可以得到预想中一样的结果(即查不到):
select * from plan where start_mile < 1663.2;

在tp5链式查询中,如下写法居然将=1663.2这条记录给查出来了:
Db::name('plan')->where(['start_mile'=>['<',1663.2]]) //在tp5中显示sql语句为“where start_mile < 1663.2”

在tp5中,当我改为改为如下写法后正确了:
Db::name('plan')->where('start_mile < 1663.2') //在tp5中显示sql语句为“where (start_mile < 1663.2)”

我找不出根本原因所在,总之,这里应该有问题,请大家指教。
最佳答案
评论( 相关
后面还有条评论,点击查看>>