갈루아의 반서재

자주 쓰이는 숫자 관련 함수 중 하나가 ROUND 이다. ROUND 숫자 함수는 제공된 값을 주어진 자리 수까지 반올림합니다. 

ROUND--(--source_number--,--precision--)

다음은 ROUND 함수를 이용하여 반올림하는 예제이다.

select ROUND(7534.1238, 2), ROUND(99672.8591, 2) FROM dual;

"ROUND(7534.1238,2)"	"ROUND(99672.8591,2)"
7534.12	                99672.86

ROUND 함수는 2개의 파라메터를 갖는다. 이 중 하나는 필수 아이템으로 반올림 대상이 되는 값인 source_number 이다. 나머지 하나는 정밀도를 나타내는 파라메터인 precision으로, 반올림의 결과 양수의 경우 소수점 우측 몇 자리까지 또는 음수의 경우 소수점 좌측 몇 자리까지 나오게 할 것인지를 나타낸다. 즉, precision이 양수인 경우 source_number는 소수점 오른쪽의 precision 자리로 반올림되고, precision이 음수인 경우 결과는 소수점 왼쪽의 precision 자리의 절대 값으로 반올림된 source_number 이다. source_number는 임의의 내장 숫자 데이터 유형일 수 있고, precision은 정수여야 한다.

다음에서 보는 바와 같이 정밀도 파라메터를 생략하게 되면 ROUND 함수는 가장 근접한 정수를 반환한다. 

select ROUND(7534.1238),  ROUND(99672.8591) FROM dual;

"ROUND(7534.1238)"	"ROUND(99672.8591)"
7534	            99673

마지막으로 정밀도 파라메터에 음수값을 넣게 되면, 소수점 왼쪽의 precision 자리의 절대 값으로 반올림된 값을 반환하게 된다. 

select ROUND(7534.1238, -1), ROUND(99672.8591, -3) from dual;

"ROUND(7534.1238,-1)"	"ROUND(99672.8591,-3)"
7530	                100000

https://blogs.oracle.com/oraclemagazine/from-floor-to-ceiling-and-other-functional-cases