Mysql中float类型字段,=查询不出结果

mysql 的float 字段显示的值和存的值不是一样的,“=”查的时候会查不到数据。

原因是在mysql中,float是浮点数,Mysql存储的是近似值,所以用精确查找无法匹配;

eg.原查询语句 select * from bank where rate = 0.5;(查询不出结果)

解决方法:

1. 转换数据类型后,再用 = 查询;  

  select * from bank where cast(rate as char) = 0.5;

2. 使用模糊匹配 like;

  select * from bank where rate like '0.5';

内容参考博客 :https://blog.csdn.net/czh500/article/details/86170499

猜你喜欢

转载自www.cnblogs.com/liaoliao51/p/12161633.html