IT STUDY LOG

[Oracle] 단일 행 함수 - 숫자 함수 본문

computer science/database

[Oracle] 단일 행 함수 - 숫자 함수

roheerumi 2023. 8. 30. 12:10

# 숫자 함수 

(참고) dual 

- 데이터를 한 행만 가지고 있는 테이블 

SELECT *
  FROM dual;

 

   

ROUND 

- 지정된 자리로 반올림 수행 

SELECT ROUND(456.7897, 2), 200, 'Hello' 
  FROM emp 
  WHERE ROWNUM = 1; -- MySQL LIMIT 기능, 지정하지 않을 경우 emp 테이블 행 개수만큼 출력됨 

SELECT ROUND(456.7897, 1) 
  FROM dual;   

SELECT ROUND(456.7897, 0)  
  FROM dual;   

SELECT ROUND(456.7897, -1) -- 1의 자리 
  FROM dual; 

SELECT ROUND(456.7897, -2) -- 10의 자리 
  FROM dual;

 

TRUNC 

- 지정된 자리에서 버림 수행 

SELECT TRUNC(456.7897, 2) 
  FROM dual; 

SELECT TRUNC(456.7897, 1) 
  FROM dual;
  
SELECT TRUNC(456.7897, 0) 
  FROM dual;   

SELECT TRUNC(456.7897, -1) --1의 자리 
  FROM dual; 

SELECT TRUNC(456.7897, -2) --10의 자리 
  FROM dual;

 

MOD 

- 첫번째 인자를 두번째 인자로 나눈 나머지 

SELECT 1500/400 "1500/400", MOD(1500, 400) "1500%400" 
  FROM dual;

 

ABS, FLOOR, CEIL, POWER

  • ABS : 숫자 값을 절대값으로 변환 
  •  FLOOR : 해당 수보다 작거나 같은 정수 중 가장 큰 정수 값 리턴 
  • CEIL : 해당 수보다 크거나 같은 정수 중 가장 작은 정수 값 리턴 
  • POWER : 첫번째 인자의 두번째 인자 승 
SELECT ABS(-30), ABS(10), FLOOR(6.7), CEIL(6.7), POWER(2, 5) 
  FROM dual;

 

SIGN

- 양수면 1, 음수면 -1, 0이면 0 

SELECT ename, sal, sal-1560, SIGN(sal - 1560) 
  FROM emp 
  WHERE deptno = 30;
Comments