본문 바로가기
프로그래밍/Database & SQL

[Oracle | 오라클] 단일행 함수 - 2. 숫자함수

by 불타는홍당무 2015. 8. 13.

※ 이 글은 오지영 강사님의 <업무에 바로 쓰는 SQL 활용실습>의 강의내용을 바탕으로 작성하였습니다.



 

1. ROUND  반올림


SELECT ROUND(7677.567  ) FROM dual;   -- 7678

SELECT ROUND(7677.567,-1) FROM dual;   -- 7680

SELECT ROUND(7677.567,-2) FROM dual;   -- 7700

SELECT ROUND(7677.567,-3) FROM dual;   -- 8000

SELECT ROUND(7677.567, 1) FROM dual;   -- 7677.6

SELECT ROUND(7677.567, 2) FROM dual;   -- 7677.57

 


2. TRUNC  버림


SELECT TRUNC(7677.567   ) FROM dual;   -- 7677

SELECT TRUNC(7677.567,-1) FROM dual;   -- 7670

SELECT TRUNC(7677.567,-2) FROM dual;   -- 7600

SELECT TRUNC(7677.567,-3) FROM dual;   -- 7000

SELECT TRUNC(7677.567, 1) FROM dual;   -- 7677.5

SELECT TRUNC(7677.567, 2) FROM dual;   -- 7677.56


 

3. CEIL  n과 같거나 큰 가장 작은 정수를 반환


SELECT CEIL(-3.3  ) FROM dual;  -- -4

SELECT CEIL(3.3  ) FROM dual;   -- 4


 

4. FLOOR  n과 작거나 같은 가장 큰 정수를 반환


SELECT FLOOR(-3.3  ) FROM dual;  -- -4

SELECT FLOOR(3.3  ) FROM dual;   -- 3

 


5. MOD(n,m)  나머지 값을 반환


SELECT MOD(100,3) FROM dual;


*100 3으로 나눈 몫

SELECT TRUNC(100/3) FROM dual;

 


6. SIGN(n)  n 0보다 크면 1, 0보다 작으면 -1, 0일 경우 0을 반환한다.


SELECT

sign(3/7500) 결과1,

sign(15*0) 결과2,

sign(1-8500) 결과1

FROM dual;