C/C++ 取整函数ceil(),floor()
一、NULLIF语法
NULLIF(expr1, expr2)
用途:
- 函数功能:比较两个参数expr1和expr2的值是否相等;
- 如果相等,则函数返回NULL,如果不等,函数返回expr1的值;
- 逻辑上和以下的case表达式相同
CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END
实例:统计人数比例时候会使用到 统计人数%总人数
nvl(round((sum(tjrs)/nullif(sum(zrs),0)*100),2),0) as 人次比例,‘%’ as 百分比
二、ceil(),floor()语法
使用floor函数。floor(x)返回的是小于或等于x的最大整数。
如: floor(10.5) == 10 floor(-10.5) == -11
使用ceil函数。ceil(x)返回的是大于x的最小整数。
如: ceil(10.5) == 11 ceil(-10.5) ==-10
floor()是向负无穷大舍入,floor(-10.5) == -11;
ceil()是向正无穷大舍入,ceil(-10.5) == -10
fix
朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;
floor
朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;
ceil
朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;
round
四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2