用法说明
1 |
IFNULL(expr1,expr2) |
如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。
IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
我们先举一些例子:
1 |
mysql> SELECT IFNULL(1,0); |
2 |
+ -------------+ |
3 |
| IFNULL(1,0) | |
4 |
+ -------------+ |
5 |
| 1 | |
6 |
+ -------------+ |
7 |
1 row in set |
-
由于 expr1 是 1,不为 NULL,所以函数返回 1. 我们可以再试下,如果让 expr1 为 NULL,是否能返回第二个参数呢? 不妨让 expr1 = 1/0, 由于除数为0,结果就为 NULL 了。
floor:函数只返回整数部分,小数部分舍弃。
www.2cto.com
round:函数四舍五入,大于0.5的部分进位,不到则舍弃。与floor不同。
floor 返回不大于的最大整数
round 则是4舍5入的计算,入的时候是到大于它的整数(当-1.5时可见,四舍五入后得到的结果不是我们期待的,解决办法是先对他取绝对值,然后在用round方法)
round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。(正数小数点后大于5则进位;负数小数点后小于以及等于5都舍去,大于5的则进位)
ceil 则是不小于他的最小整数 ,即向上取整。