MySQL 下执行 SQL 查询语句 WHERE 条件正确,但是没有结果

MySQL 下执行 SQL 查询语句 WHERE 条件正确,但是没有结果

问题描述:

查询过程
上面是在表中的数据,price 字段类型是 float,无论是在命令行还是 Navicat 中执行查询都会显示没查到,条件改为 >= 就显示全部数据,改为 <= 也显示无数据,其他数据也是这个情况,按照 name 查询就可以,请问这是哪里的问题?

你使用float存在精度,你查询和显示的只是近似值,可以使用decimal类型,显示的是准确值不会有精度,或者限制float或double的精确位数为2位

可以试试“3.49”,加个双引号。

建表的时候没有指定 float 精度会有这个问题,应该指定精度。另如果数据库中的字段是金额应该用 decimal 类型存储,并且也需要指定精度。