[Oracle] 소수점 처리 올림,반올림,버림 함수 (CEIL,ROUND,TRUNC) 사용법 & 예제

오라클 소수점 처리를 할때 유용하게 사용할 수 있는 함수가 3가지가 있습니다. 바로 CEIL, ROUND, TRUNC 인데요. 각각 소수점을 올림, 반올림, 버림 해줄 수 있는 함수입니다.


소수점 올림 (CEIL)

--사용법
SELECT CEIL([컬럼])AS [명칭] FROM [테이블명] --자릿수 지정은 없으며 무조건 소수점첫번째에서 올림

--예제
SELECT CEIL(10.423)AS PAY FROM DUAL  --결과 : 11

SELECT CEIL(PAY)AS PAY FROM EMP_TABLE

SELECT
CASE SUM(ERR) WHEN 0 THEN 0 ELSE  --0으로 나눌경우 에러가 나기에 예외처리
CEIL(COUNT(MOD)/COUNT(ERR)*100) END AS TEST_PERCENT --수정갯수 / 에러갯수
FROM ERROR_TABLE



소수점 반올림 (ROUND)

--사용법
SELECT ROUND([컬럼명],자릿수)AS [명칭] FROM [테이블명]

--예제
SELECT ROUND(10.463,2)AS PAY FROM DUAL --결과 : 10.46

SELECT ROUND(PAY,2)AS PAY FROM EMP_TABLE

SELECT
CASE SUM(ERR) WHEN 0 THEN 0 ELSE  --0으로 나눌경우 에러가 나기에 예외처리
ROUND(COUNT(MOD)/COUNT(ERR)*100,2) END AS TEST_PERCENT --수정갯수 / 에러갯수 (소수 2째자리에서 반올림)
FROM ERROR_TABLE



소수점 버림 (TRUNC)

--사용법
SELECT TRUNC([컬럼명],자릿수)AS [명칭] FROM [테이블명]

--예제
SELECT TRUNC(10.423,2)AS PAY FROM DUAL --결과 : 10.42

SELECT TRUNC(TO_DATE('2019-01-25','YYYY/MM/DD'))+100 FROM DUAL --2019년 1월 25일로부터 100일 후 날짜계산

SELECT 
CASE SUM(ERR) WHEN 0 THEN 0 ELSE  --0으로 나눌경우 에러가 나기에 예외처리
TRUNC(COUNT(MOD)/COUNT(ERR)*100,2) END AS TEST_PERCENT --수정갯수 / 에러갯수 (소수 2째자리에서 버림)
FROM ERROR_TABLE


댓글

Designed by JB FACTORY