오라클 소수점 처리를 할때 유용하게 사용할 수 있는 함수가 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
'DB > Oracle' 카테고리의 다른 글
[Oracle] 편리한 조건함수 DECODE 함수 사용법 & 예제 (0) | 2019.01.24 |
---|---|
[Oracle] Null값을 치환해주는 (NVL,NVL2) 함수 사용법 & 예제 (3) | 2019.01.23 |
[Oracle] Union해서 나온 결과 ROW 값 합치기 (0) | 2019.01.21 |
[Oracle] 오라클 데이터가 없을경우에만 Insert하기 (0) | 2019.01.15 |