oracle數字函數
數字函數
1,取整函數(ceil 向上取整,floor 向下取整)
select ceil(66.6) N1,floor(66.6) N2 from dual;
2, 取冪(power) 和 求平方根(sqrt)
select power(3,2) N1,sqrt(9) N2 from dual;
3,求余
select mod(9,5) from dual;
4,返回固定小數位數 (round:四捨五入,trunc:直接截斷)
select round(66.667,2) N1,trunc(66.667,2) N2 from dual;
5,返回值的符號(正數返回為1,負數為-1)
select sign(-32),sign(293) from dual;
其他函數
1.user:
返回登錄的用戶名稱
select user from dual;
2.vsize:
返回表達式所需的字節數
select vsize('HELLO') from dual;
3.nvl(ex1,ex2):
ex1值為空則返回ex2,否則返回該值本身ex1(常用)
例:如果雇員沒有傭金,將顯示0,否則顯示傭金
select comm,nvl(comm,0) from emp;
4.nullif(ex1,ex2):
值相等返空,否則返回第一個值
例:如果工資和傭金相等,則顯示空,否則顯示工資
select nullif(sal,comm),sal,comm from emp;
5.coalesce:
返回列表中第一個非空表達式
select comm,sal,coalesce(comm,sal,sal*10) from emp;
6.nvl2(ex1,ex2,ex3) :
如果ex1不為空,顯示ex2,否則顯示ex3
如:查看有傭金的雇員姓名以及他們的傭金
select nvl2(comm,ename,') as HaveCommName,comm from emp;