[Oracle] 오라클 - 단일행 숫자 함수 (ROUND/TRUNC)
by mini_min[Oracle]
오라클 - 단일행 숫자 함수 (ROUND/TRUNC)
✔️ ROUND 와 TRUNC
둘다 올리고 내리는데 쓰이는 숫자 함수다. 전자는 '반올림' 해주고, 후자는 '절삭' 특정 자리값에서 아예 삭제해버린다.
- ROUND(n [, integer ])
SELECT ROUND(15.683) FROM dual; --0자리라 소수점 첫째자리에서 반올림함
💡 만약, 반올림할 자리값을 생략하면, '0' 으로 간주해서, 소수점 첫째자리에서 반올림한다.
기억하기 쉽게, <나타내고 싶은 자리값> 이라고 생각하면 편하다.
또는 (음수면 소수점 왼쪽부터 반올림된다고 생각하삼)
0 = 0자리까지 나타내고 싶으니까 소수점 첫번째에서 반올림
1 = 소수점 첫째자리 까지 나타내고 싶으니, 소수점 둘째자리에서 반올림
-1 = 10자리까지 나타내고 싶으니까 0자리에서 반올림
SELECT ROUND(15.683, 1) FROM dual; --15.7 (1은 소수점이 한자리 나온다는 뜻이다)
SELECT ROUND(15.683, 2) FROM dual; --15.68
- TRUNC(n1 [, n2 ])
반올림이고 뭐고, 그냥 소수점 또는 특정 자리 수를 버리고 싶을 때 사용한다.
(은행과 같은 금융 시스템에서 자주 쓸 기능이라고 기억하기)
SELECT TRUNC(15.683) FROM dual; --15
SELECT TRUNC(15.683, 2) FROM dual; --15.68
🔒 문제
-- emp : name, sal, sal 의 5만원권 매수, sal 1만원권 매수, 나머지 금액 출력
SELECT name, sal, TRUNC(sal/50000) "5만원권", TRUNC(MOD(sal, 50000)/10000) "1만원권", MOD(sal,10000) 기타금액
FROM emp;
💡 컬럼명은 숫자로 시작할 수 없고 공백도 불가능하다.
= 공백 또는 숫자로 시작해야 하는 경우 "컬럼명" 처럼 " 안에 기술한다.
'SQL쿼리' 카테고리의 다른 글
[Oracle] 오라클 - 단일행 문자 함수 (INSTR/LENGTH/REPLACE/CONCAT) (0) | 2022.08.06 |
---|---|
[Oracle] 오라클 - 단일행 문자 함수 (LOWER/UPPER/INITCAP/SUBSTR) (0) | 2022.08.06 |
[Oracle] 오라클 - 단일행 숫자 함수(MOD/REMAINDER/CEIL/FLOOR/ROUND) (0) | 2022.08.06 |
[Oracle] 오라클 - Test 1 (SQL함수_2회차) (0) | 2022.08.06 |
[Oracle] 오라클 - pseudo 의사컬럼(ROWID, ROWNUM) (0) | 2022.08.04 |
블로그의 정보
개발자 미니민의 개발로그
mini_min