ORACLE NUMERIC FUNCTION
from Beginning Oracle Programming | 정보문화사
1. NUMERIC FUNCTION
A. ABS
절대값을 구하는 함수이다.
SQL> select abs(-4.56) from dual;
ABS(-4.56)
----------
4.56
SQL> select abs(+4.56) from dual;
ABS(+4.56)
----------
4.56
B. CEIL
입력값보다 크지만 그 중에서 가장 작은 정수값을 구하는 함수이다. 양수 입력에 대해서는 올림을 생각하면 되고 음수 입력에 대해서는 소수 자리를 제거한 값을 만들어준다.
CEIL ( 입력1 )
입력1은 가공할 실제적인 값이다.
SQL> select ceil(4.1) from dual;
CEIL(4.1)
----------
5
SQL> select ceil(-4.1) from dual;
CEIL(-4.1)
----------
-4
SQL> select ceil(-4.9) from dual;
CEIL(-4.9)
----------
-4
SQL> select ceil(4.9) from dual;
CEIL(4.9)
----------
5
C. FLOOR
CEIL 과 반대적인 기능을 한다. 양수 입력값에 대해서는 해당 자리값을 제거를 하고 음수 입력에 대해서는 해당자리값을 제거 후 -1 을 더한 값을 만든다.
SQL> select floor(4.9) from dual;
FLOOR(4.9)
----------
4
SQL> select floor(-4.9) from dual;
FLOOR(-4.9)
-----------
-5
SQL> select floor(-4.1) from dual;
FLOOR(-4.1)
-----------
-5
D. MOD
MOD( 입력1, 입력2) 형식을 가지며 입력1 / 입력2 를 수행했을 때의 나머지값을 구한다.
SQL> select mod(4,2) from dual;
MOD(4,2)
----------
0
SQL> select mod(10,3) from dual;
MOD(10,3)
----------
1
E. POWER
POWER( 입력1, 입력2) 형태를 가지며 입력1^입력2 즉 입력1의 (입력2) 승 수를 구한다.
SQL> select power(2,3) from dual;
POWER(2,3)
----------
8
SQL> select power(2,-3) from dual;
POWER(2,-3)
-----------
.125
F. ROUND
ROUND( 입력1, 입력2) 형태를 가지며 반올림기능을 수행한다. 입력2를 생략한 경우 입력2 가 기본적으로 0값을 사용하게 되고 이의 의미는 소수 첫자리에 대해 반올림을 수행하게 되고 결과적으로 정수값이 만들어진다.
SQL> select round(34.56) from dual;
ROUND(34.56)
------------
35
SQL> select round(34.56,-1) from dual;
ROUND(34.56,-1)
---------------
30
SQL> select round(34.56, -2 ) from dual;
ROUND(34.56,-2)
---------------
0
SQL> select round(34.56,1) from dual;
ROUND(34.56,1)
--------------
34.6
SQL> select round(34.56,2) from dual;
ROUND(34.56,2)
--------------
34.56
SQL> select round(-34.56) from dual;
ROUND(-34.56)
-------------
-35
G. SIGN
값의 부호에 따라 -1, 0, 1 로 표현한다. 부호가 양인 경우 1 음인경우 -1 양,음 둘다 아닌 경우엔 0을 리턴한다.
SQL> select sign(-3) from dual;
SIGN(-3)
----------
-1
SQL> select sign(0) from dual;
SIGN(0)
----------
0
SQL> select sign(3) from dual;
SIGN(3)
----------
1
H. TRUNC
TRUNC( 입력1, 입력2 ) 값을 가지며 입력2에 해당하는 포지션을 기준으로 값을 버리는 함수이다. 입력2를 생략시 소수에 해당하는 자리가 제거된다. 결과적으로 정수가 된다.
SQL> select trunc(34.56) from dual;
TRUNC(34.56)
------------
34
SQL> select trunc(34.56,1) from dual;
TRUNC(34.56,1)
--------------
34.5
SQL> select trunc(34.56,2) from dual;
TRUNC(34.56,2)
--------------
34.56
SQL> select trunc(34.56,-1) from dual;
TRUNC(34.56,-1)
---------------
30
SQL> select trunc(34.56, -2) from dual;
TRUNC(34.56,-2)
---------------
0
SQL> select trunc(34.56, -3) from dual;
TRUNC(34.56,-3)
---------------
0