mysql5.6中float字段使用'='为何无法查询到结果,而'like‘却可以?

我想问一下,我使用的mysql 5.6版本中,针对float 字段 balance,
使用查询 select * from companyWalletBalance where balance = '519.74' 结果数据为空
 


但是使用 select * from companyWalletBalance where balance like '519.74' 却能查到数据 请问这是为什么?

 

数据类型是数字或者浮点数,你用字符串作为条件基本上是查不到的,而like是模糊查询,能自动扩展。首先你需要知道底层存储和查询结果是两回事。

你把单引号去掉试试

谢谢各位,我查了一下资料,改成double即可。如果去掉 引号,得到的仍然是空集,尽量不要使用没有设置过精度的float,而且float数值范围并不大