Mo!
(SQL) 반올림, 올림, 내림, 버림(round, ceil, floor, trunc) Oracle 본문
SQL

(SQL) 반올림, 올림, 내림, 버림(round, ceil, floor, trunc) Oracle

5사 2021. 12. 10.

ROUND 반올림

 

select round(34.567), 
       round(34.567, 2), 
       round(34.567, 1), 
       round(34.567, 0), 
       round(34.567, -1), 
       round(34.567, -2)
from dual;

 

출력 결과

 

-- round(숫자, 위치)

위치가 없을 경우는 위치가 0일 경우와 같다.

 

숫자 3 4 . 5 6 7
위치 -2 -1 0 1 2 3

 

위치가 0이거나 양수일 때 - 해당 위치에서 반올림을 받는 것(뒤에 자리에서 반올림되어 해당 위치까지 표시)

위치가 음수일 때 - 해당 위치에서 반올림이 되는 것

 

round(34.567, 2)는 6에서 반올림을 받는다. 그러므로 뒤 숫자인 7에서 반올림되어 결과 값이 34.57이 된다.

round(34.567, -2)는 3에서 반올림이 된다. 그러므로 3은 반올림이 불가능하여 결과 값이 0이 된다.

 

 

CEIL 올림

 

select ceil(34.567), ceil(99), ceil(-101.1), ceil(101.01)
from dual;

 

출력 결과

 

 

-- ceil(숫자)

숫자가 99 혹은 99.0처럼 소수 자리가 0이 아니라면 가장 가까운 정수로 올림된다.

 

 

FLOOR 내림

 

select floor(34.567), floor(99), floor(-101.1), floor(101.1)
from dual;

 

출력 결과

 

-- floor(숫자)

ceil의 반대, 99 혹은 99.0처럼 소수 자리가 0이 아니면 가장 가까운 정수로 내림된다.

 

 

TRUNC 버림

 

select trunc(34.567), trunc(34.567, 0), trunc(-34.567, 1), trunc(-34.567, -1)
from dual;

 

출력 결과

 

-- trunc(숫자, 위치)

trunc(34.567)은 trunc(34.567, 0)과 같은 결과를 출력하는데 소수점 자릿수를 버린 결과값을 출력한다.

trunc(-34.567, 1)은 소수점 첫 번째 자리까지 남기고 나머지는 버린다는 의미이다.

trunc(-34.567, -1)은 일의 자릿수부터 버림 하여 -30이 출력된다

 

 

 

Comments