반응형
Oracle에서 제공하는 올림, 내림, 반올림 함수가 있습니다.
CEIL()
올림 함수 CEIL(n)은 n보다 크거나 같은 정수 중 가장 작은 수를 반환합니다.
다시 말해 n이 정수면 n을 반환하고, 소수면 소수점 첫 번째 자리에서 올림한 정수를 반환합니다.
예시
SELECT CEIL(12) FROM DUAL --12
SELECT CEIL(12.34) FROM DUAL --13
SELECT CEIL(12.78) FROM DUAL --13
FLOOR()
내림 함수 FLOOR(n)는 n보다 작거나 같은 정수 중 가장 큰 수를 반환합니다.
즉 소수점 이하를 버림한 정수를 반환합니다.
예시
SELECT FLOOR(12) FROM DUAL --12
SELECT FLOOR(12.34) FROM DUAL --12
SELECT FLOOR(12.78) FROM DUAL --12
ROUND()
반올림 함수 ROUND(n, integer)는 매개변수가 2개로 조금 더 복잡합니다.
n은 반올림할 수이고, integer는 어느 자리에서 반올림할 지를 나타내는 정수입니다.
integer를 생략하거나 0을 넣으면 소수점 첫 번째 자리에서 반올림하여 정수를 반환합니다.
예시
--두 번째 인자 integer 생략
SELECT ROUND(12) FROM DUAL --12
SELECT ROUND(12.34) FROM DUAL --12
SELECT ROUND(12.78) FROM DUAL --13
--두 번째 인자 integer 0
SELECT ROUND(12.78,0) FROM DUAL --13
integer에 1을 넣으면 소수점 이하 두 번째 자리에서 반올림하여 소수점 이하 첫 번째 자리까지의 수를 반환합니다.
2를 넣으면 소수점 이하 세 번째 자리에서 반올림하여 소수점 이하 두 번째 자리까지의 수를 반환합니다.
예시
--integer 1
SELECT ROUND(12,1) FROM DUAL --12
SELECT ROUND(12.34,1) FROM DUAL --12.3
SELECT ROUND(12.78,1) FROM DUAL --12.8
--integer 2
SELECT ROUND(12.3456,2) FROM DUAL --12.35
integer에 -1을 넣으면 일의 자리에서 반올림하여 일의 자리가 0인 수를 반환합니다.(0이 1개)
-2를 넣으면 십의 자리에서 반올림하여 십의 자리까지가 0인 수를 반환합니다.(0이 2개)
예시
--integer -1
SELECT ROUND(12345.67,-1) FROM DUAL --12350
--integer -2
SELECT ROUND(12345.67,-2) FROM DUAL --12300
--integer -4
SELECT ROUND(222222,-4) FROM DUAL --220000
반응형
'Database > Oracle' 카테고리의 다른 글
[Oracle] 여러 행 SELECT하여 INSERT 하기 / INSERT INTO SELECT 문 (0) | 2022.10.06 |
---|---|
[Oracle] 몫, 나머지 구하기 (/, MOD, FLOOR()) (0) | 2022.09.30 |
[Oracle] ORDER BY NULLS FIRST, NULLS LAST / NULL값 정렬하기 (0) | 2022.09.29 |
[Oracle] NVL, NVL2 함수 사용법 / null 값 처리 (0) | 2022.09.22 |
[Oracle] DECODE 함수 사용법 (0) | 2022.09.02 |
댓글