一、慎用Float数据类型
float类型是根据IEEE754标准使用二进制格式编码实数数据,对于一些小数,比如59.95,float类型会存储了二进制中最接近59.95的值,用十进制表示等于59.950000762939。
SELECT * FROM t_refresh WHERE rate = 59.95
Result:empty set;no rows match,
因为rate的实际存储值是比59.95大一点点。在某些业务场景中,我们需要用numeric或者decimal来代替float数据类型。