개발/ORCLE

오라클 ROUND TRUNC MOD

쭈니후니 2008. 10. 27. 15:30
ROUND와 TRUNC 함수
  ROUND(45.923,2)
  ROUND(45.923,0)
  ROUND(45.923,-1)
  TRUNC(45.923,2)
  TRUNC(45.923,0)
  TRUNC(45.923,-1)
→  45.92
→  46
→  50
→  45.92
→  45
→  40

ROUND 함수
  TRUNC와 ROUND함수는 argument가 있어야 한다.
  두 번째 argument값이 없거나 0이면 결과값은 소숫점이 없는 형태로 나타나게 된다.
  두 번째 argument의 값이 음수이면 해당 수만큼 좌측으로 절삭 또는 반올림한다.

※ Note : ROUND와 TRUNC 함수는 날짜 함수와 같이 쓰여질 수 있는데, 차후에 이러한 예제를 보도록 하자.

♠ 질의 예제 : 45.923을 소숫점 2자리, 0, -1자리까지 반올림한 값을 출력하라.

SQL> SELECT  ROUND(45.923,2),  ROUND(45.923,0),  ROUND(45.923,-1)
 2 FROM SYS.DUAL;


TRUNC 함수


♠ 질의 예제 : 45.923을 소숫점 2자리, 0, -1자리까지 절삭한 값을 출력하라.

 

SQL> SELECT  TRUNC(45.923,2),  TRUNC(45.923,0),  TRUNC(45.923,-1)
 2 FROM SYS.DUAL;

※ SYS.DUAL은 dummy table이다. 차후에 자세히 살펴보도록 한다.


MOD 함수
  어떠한 값을 나누고 남은 나머지를 구하고자 한다면 MOD 함수를 이용한다.
  MOD(1600,300) → 100

MOD 함수


♠ 질의 예제 : 월급여가 1400보다 큰 모든 사원에 대해 월급여를 상여금으로 나누고 난 나머지를 계산하라.

 

SQL> SELECT   last_name,MOD(salary,commission_pct)
 2 FROM s_emp
 3 WHERE  salary > 1400;