mysql round函数的奇怪问题

谁能告诉我这是为什么,懵逼了
相同的数据,为啥通过sql字段获取后,结果不一样了
图片说明

1个回答

mysql官方文档中对round函数的说明
1、对于精确值,来说,round,就是四舍五入原则
2、对于近似值,来说,round,就是不管小数点后面是啥,round的结果是取最接近的 偶数

图片说明
https://dev.mysql.com/doc/refman/5.7/en/mathematical-functions.ht
ml
mysql关于数字的定义
https://dev.mysql.com/doc/refman/5.7/en/precision-math-numbers.html
int和decimal是精确的数字类型
float和double是近似值

在本问题中出现的这两个字段,被声明称了float,所以round的结果才会是2
将字段类型改成decimal后,成功得到结果 3.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐