[Oracle] ROUND 함수 사용방법 (소수, 반올림, 절사)

오라클 SQL에서 소수점 자리수를 지정하기 위해서 ROUND 함수를 사용한다. ROUND 함수는 특정 소수점을 반올림하고 나머지를 버리는 함수 이다.


소수점을 반올림하지 않고 절사만 원한다면 TRUNC 함수를 사용해야 한다.


ROUND  함수

- 함수 : ROUND("값", "자리수")


소수점 반올림-1 (소수점 첫째자리)

SELECT ROUND(1235.543)    --①
     , ROUND(1235.443)    --②
     , ROUND(1235.443, 0) --③
  FROM dual

①,②,③ 모두 소수점 첫번째 자리수를 반올림 한다. ①은 소수점 첫번째 자리수가 5이므로 반올림 되었고, ②는 4이므로 그냥 버려졌다. ③은 ①,②와 동일하게 소수점 첫번째 자리수를 반올림하는 것이며 두번째 파라미터(0)은 생략이 가능하다.


소수점 반올림-2 (소수점 둘째자리)

SELECT ROUND(1235.345, 1) --①
     , ROUND(1235.345, 2) --②
     , ROUND(1235.345, 3) --③
  FROM dual

①은 소수점 첫번째 자리수까지 표시하는 것이며 두번째 소수점을 반올림 한다. ②는 두번째 소수점까지 표시하고 세번째 소수점을 반올림한다.


정수 반올림

SELECT ROUND(1235.345, -1) --①
     , ROUND(1235.345, -2) --②
     , ROUND(1235.345, -3) --③
  FROM dual

ROUND 함수는 소수점뿐만 아니라 정수도 반올림이 가능하다. ①은 정수 첫번째 자리를 반올림하고 소수부분은 버린다. ②,③번도 동일한 방법을 사용한다.


날짜 반올림

SELECT ROUND(to_date('2019-08-12 11:50', 'yyyy-mm-dd hh24:mi')) dte_am
     , ROUND(to_date('2019-08-12 12:10', 'yyyy-mm-dd hh24:mi')) dte_pm
  FROM dual

숫자뿐만 아니라 날짜도 반올림이 가능하다. 위의 예제는 시간을 기준으로 정오(12시) 기준으로 날짜를 반올림하는 예제이다.


 

댓글

Designed by JB FACTORY