使用mysql的format方法踩得坑,字符串转换数值四舍五入坑太深

select FORMAT('1.85',1),FORMAT(1.85,1),FORMAT('1.855',2),FORMAT(1.855,2);

想要的结果是:1.9 ,1.9  , 1.86 , 1.86

但是结果是:

使用mysql的format方法踩得坑,字符串转换数值四舍五入坑太深

还能更坑,有些能四舍五入,有些不能,但是只针对字符串,如果使用数值型是没有问题,所有如果字段为varchar或者char最好不要用format方法;不太清楚原理是什么

使用mysql的format方法踩得坑,字符串转换数值四舍五入坑太深

建议还是使用convert,cast;后端使用mybatis的字段映射,可以使用String ,bigDecimal类型结束数据

使用mysql的format方法踩得坑,字符串转换数值四舍五入坑太深