본문 바로가기

프로그래밍/MSSQL

[MSSQL] ROUND, CEILING, FLOOR (소수점 반올림, 올림, 버림)

반응형

 

 

 

ROUND (반올림)

ROUND(값, 반올림 자릿수, [반올림 여부])

 

구하려는 소수점 자리수의 한 자리 아래의 숫자를 반올림 혹은 버림한다.

반올림 여부의 값을 0 또는 생략할 경우 반올림, 음수값일 경우 버림

 

먼저 반올림의 의미를 알아보자.

반올림이란 구하려는 자리의 한 자리 아래 숫자가 0, 1, 2, 3, 4 일 경우 버림

5, 6, 7, 8, 9 일 경우 올리는 방법을 뜻한다.

 

그럼 예제를 살펴보자

 

SELECT ROUND(10.349, 1) -- 10.300
SELECT ROUND(10.349, 2) -- 10.350
SELECT ROUND(10.349, 2, 0) -- 10.350
SELECT ROUND(10.349, 2, -1) -- 10.340
 
설명>
 
1) 반올림 자릿수가 1 즉, 구하려는 소수점의 자리수는 첫 번째이다.

따라서, 한 자리 아래인 소수점 두 번째 자리의 값을 기준으로 반올림 된다.

소수점 두 번째 자리의 값은 4 이기 때문에 버림이 적용된다.

-> 결과 값은 10.300 이 된다.

 

2,3) 반올림 자릿수가 2 즉, 구하려는 소수점의 자리수는 두 번째 이다.

소수점 세 번째 자리의 값이 9 이기 때문에 올림이 적용된다.

-> 결과 값은 10.350 이 된다.

 

4) 반올림 여부가 음수로 버림을 의미한다.

따라서 소수점 세 번째 자리 값이 9 임에도 불구하고 버림이 적용된다.

-> 결과 값은 10.340

 

 

 

 

CEILING (올림) 

CEILING (값)

ROUND와 달리 CEILING은 무조건 정수값으로 출력된다.

 

SELECT CEILING(21.35) -- 22
SELECT CEILING(21.9) -- 22

 

 

 

 

FLOOR (버림)

FLOOR (값)

CEILING과 마찬가지로 정수값으로 출력된다.

SELECT FLOOR(21.35) -- 21
SELECT FLOOR(21.9) -- 21

 

 

 

 

반응형