float:
有这样一张表,里面的数据类型为double


但是我们使用 select * from tableName where float_num=2.2,却查询不出来数据。

目前查询 select * from tableName where double_num=2.2是能查询到的,但是当double_num的长度到一定数量的时候还是可能会查询不到。
只有decimal的数据查询都是找到了的
这是因为,因为mysql存储浮点数是存的近似值。文档解释是,所以我们存储的时候最好都使用decimal的数据类型

本文探讨了在MySQL中使用float和double数据类型时遇到的查询问题,特别是当数值达到一定长度时,由于存储近似值导致的查询失败现象。通过对比decimal类型的查询效果,强调了在需要精确数值处理场景下,选择合适数据类型的重要性。
390

被折叠的 条评论
为什么被折叠?



