Programming/SQL

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

고막고막 2019. 4. 23. 10:54
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;