mysql round对于精确值和近似值的处理

来源:互联网 发布:java jdk官网下载64位 编辑:程序博客网 时间:2024/05/16 05:52

遇到个问题
预期的结果是,round 的结果是3,可看下图,有个结果是2
截图表面现象
查询了官网的mysql round函数的说明才明白了。
1、对于精确值的处理,是按照四舍五入的原则
2、对于近似值,不管小数点后是啥,都取最接近的偶数
mysql-mathematical-functions-round
这里写图片描述
mysql 对于数字类型的定义
mysql number type
int和decimal是精确值
float和double是近似值

在本例中round中的字段被定义成了float,所以是近似值。
round后的结果就是2了。
将数据类型改成decimal就能获取到预期的结果3了。

原创粉丝点击