본문 바로가기
Database/Oracle

[Oracle] 올림 함수 CEIL() / 내림 함수 FLOOR() / 반올림 함수 ROUND()

by 쿠쿠씨 2022. 9. 29.
반응형

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

 

반응형

댓글