2 u010033157 u010033157 于 2017.09.02 00:00 提问

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

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

3个回答

ShewMi
ShewMi   2017.09.02 09:15
已采纳

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

number1killer
number1killer   2017.09.02 09:55

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

u010033157
u010033157   2017.09.02 12:44

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

Csdn user default icon
上传中...
上传图片
插入图片