반응형
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
반응형
'프로그래밍 > MSSQL' 카테고리의 다른 글
[MSSQL] COUNT CASE (조건 카운트) COUNT DISTINCT (중복제거 카운트) (2) | 2019.09.29 |
---|---|
[MSSQL] CONVERT, CAST 형변환 함수 (0) | 2019.09.29 |
[MSSQL] 재귀 쿼리, 트리 구조 (CTE 재귀) (0) | 2019.09.29 |
[MSSQL] REPLICATE (오라클 LPAD) : 000부터 1씩 증가하는 3자리 숫자 001, 002, 003... (0) | 2019.09.26 |
[MSSQL] GROUP BY 없이 HAVING이 단독으로 오는 경우 (0) | 2019.07.12 |