본문 바로가기
Programming/SQL

[Oracle] 08. 다양한 숫자함수(ROUND, TRUNC, MOD, POWER, CELL, FLOOR, ABS, SQRT, SIGN)

by 고막고막 2019. 4. 23.
ROUND  n자리까지 반올림한다
 ROUND(m,n) 
 ROUND(123.456, 3)  123.456
TRUNC  n자리 미만을 절삭한다 
 TRUNC(m,n) 
 TRUNC(123.4567, 3)  123.456
MOD  m을 n으로 나눈 나머지 계산한다 
 MOD(m,n) 
 MOD(10,4)  2
POWER  m의 n승을 계산한다 
 POWER(m,n) 
 POWER(2,4)  16
CELL  m보다 큰 가장 작은 정수를 찾는다 
 CELL(m) 
 CELL(3.34)  4
FLOOR  m보다 작은 가장 큰 정수를 찾는다 
 FLOOR(m) 
 FLOOR(2.34)  2
ABS  m의 절대값을 계산한다 
 ABS(m) 
 ABS(-4)  4
SQRT  m의 제곱근을 계산한다 
 SQRT(m) 
 SQRT(9)  3
SIGN  m이 음수일 때 -1, 양수일 때 1, 0이면 0을 반환 
 SIGN(m) 
 SIGN(-3)  -1

 

예제1) 10번 부서의 연봉을 계산 (단 100단위 미만은 절삭한다)

SELECT dno 부서번호, eno 사번, ename 사원명, TRUNC(sal*12+NVL(comm,0), -2)
FROM emp WHERE dno=10;

예제2) 부서명의 마지막 글자를 제외하고 검색

SELECT dname, SUBSTR(dname, 1, LENGTH(dname)-1) 부서명 FROM dept;