본문 바로가기

ORACLE

ORACLE NUMERIC FUNCTION v1.0

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