쌓고 쌓다
[Oracle] ROUND, TRUNC, MOD, CEIL, FLOOR 함수 본문
숫자 함수
종류 | 의미 | 예 |
ROUND | 지정한 자리까지 표현하여 반올림 | ROUND(123.17, 1) -> 123.2 |
TRUNC | 지정한 자리까지 표현하여 절삭 | TRUNC(123.17, 1) -> 123.1 |
MOD | m을 n으로 나눈 나머지 | MOD(12, 10) -> 2 |
CEIL | 입력값보다 큰 수중에서 가장 작은 정수 | CEIL(123.17) -> 124 |
FLOOR | 입력값보다 작은 수중에서 가장 큰 정수 | FLOOR(123.17) -> 123 |
ROUND 함수
ROUND( expr | column, n )
expr 또는 column 값을 n+1자리에서 반올림하여 n자리까지 표현
n 값이 없으면 소수 자리에서 반올림하여 정수로 나타냄
n값이 음수이면 소수점 왼쪽 n+1자리에서 반올림하여 n자리까지 표현
- 101번 학과 교수의 일급을 계산(월 근무일은 22일)하여 소수점 첫째 자리, 셋째 자리에서 반올림한 값과
소수점 왼쪽 첫째 자리에서 반올림한 값을 출력
SELECT ROUND(sal/22), ROUND(sal/22, 2), ROUND(sal/22, -1)
FROM professor
WHERE deptno=101;
TRUNC 함수
지정한 자리까지 표현하여 나머지는 절삭
TRUNC( expr | column, n )
n이 없으면 소수점 이하 표현하지 않게 함 ( TRUNC(number, 0)과 동일 )
n이 음수이면 소수점 왼쪽 자리로 n번째 자리까지 표현
- 101번 학과 교수의 일급을 계산(월 근무일 22일)하여 소수점 첫째 자리, 셋째 자리에서 절삭한 값과
소수점 왼쪽 첫재 짜리에서 절삭한 값을 출력
SELECT TRUNC(sal/22), TRUNC(sal/22, 2), TRUNC(sal/22, -1)
FROM professor
WHERE deptno=101;
MOD 함수
나머지를 출력 - m을 n으로 나눈 나머지
MOD(m, n)
- 101번 학과 교수의 급여를 보직수당으로 나눈 나머지를 출력
SELECT MOD(sal, comm)
FROM professor
WHERE deptno=101;
CEIL, FLOOR 함수
CEIL : 지정한 숫자보다 크거나 같은 수 중 가장 작은 정수
FLOOR : 지정한 숫자보다 작거나 같은 수 중 가장 큰 정수
CEIL( expr | column )
FLOOR( expr | column )
- 19.7보다 큰 정수중에서 작은 정수와 12.345보다 작은 정수 중에서 가장 큰 정수를 출력
SELECT CEIL(19.7), FLOOR(12.345)
FROM dual;
'프로그래밍 > SQL' 카테고리의 다른 글
[Oracle] NVL, NVL2, NULLIF, COALESCE (0) | 2022.10.08 |
---|---|
[Oracle] 날짜 함수, 타입 변환 (1) | 2022.10.08 |
[Oracle] 문자열 조작(변환) 함수 (1) | 2022.10.08 |
[Oracle] Drop table후 휴지통 비우기 (0) | 2022.10.02 |
[Oracle] 집합 연사자 (UNION, UNION ALL, MINUS, INTERSECT) (0) | 2022.10.02 |
Comments