大家知道MySQL四舍五入吗?在MySQ中ROUND函数用于对查询结果进行四舍五入,不过最近使用ROUND函数四舍五入时意外发现并没有预期的那样。
FLOOR(X)
1.返回不大于X的最大整数值。
MySQL> select FLOOR(1.23);
-> 1
MySQL> select FLOOR(-1.23);
-> -2
注意返回值被变换为一个BIGINT!
CEILING(X)
2.返回不小于X的最小整数值。
MySQL> select CEILING(1.23);
-> 2
MySQL> select CEILING(-1.23);
-> -1
注意返回值被变换为一个BIGINT!
ROUND(X)
3.返回参数X的MySQL四舍五入的一个整数。
MySQL> select ROUND(-1.23);
-> -1
MySQL> select ROUND(-1.58);
-> -2
MySQL> select ROUND(1.58);
-> 2
注意返回值被变换为一个BIGINT!
ROUND(X,D)
4.返回参数X的四舍五入的有D为小数的一个数字。如果D为0,结果将没有小数点或小数部分。
MySQL> select ROUND(1.298, 1);
-> 1.3
MySQL> select ROUND(1.298, 0);
-> 1
注意返回值被变换为一个BIGINT!
来源: http://www.51edu.com/it/bckf/484421.html