[Oracle] ROUND 함수 사용방법 (소수, 반올림, 절사)
- 데이터베이스/오라클
- 2019. 8. 12.
오라클 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시) 기준으로 날짜를 반올림하는 예제이다.