본문 바로가기
카테고리 없음

[MS-SQL]반올림, 올림, 내림, 0제거 등

by 빛과 어둠사이 2019. 8. 5.
728x90
반응형
SMALL

SQL SERVER를 쓸 때

반올림, 올림, 내림 등

여러가지 값 계산을 해야 하는 경우가 있습니다.


이번에는 반올림, 올림, 내림 등을 하는

방법에 대해서

정리를 해보고자 합니다.



1. 반올림

저는 반올림을 제일 많이 사용합니다.

다른 분들도 비슷하지 않을까 싶습니다.

그래서 반올림을 맨 위로 올렸습니다.


반올림 함수는 ROUND 입니다.

사용방법은 다음과 같습니다.

--소수점 2자리까지 나타나게하고, 반올림
SELECT ROUND(12345.1234567, 2);

--10의자리까지 나오게 하고, 일의 자리 반올림
SELECT ROUND(12345.1234567, -1);

ROUND 함수는 인자가 2개 필요합니다.

첫번째는 반올림할 값이고

두번째는 자리입니다.

양수로 입력하면 소수점의 자리수를 나타내고

음수로 입력하면 양수자리를 나타냅니다.


위 쿼리에서는 첫번째 쿼리는

소수점 2번째 자리까지 나오게 하는 것이고,

두번째 쿼리는 10의 자리까지만

나오게 하는 것입니다.



그리고 보면 첫번째 인자였던

값의 길이만큼 0으로 채워져서 나옵니다.

이 0을 제거하는 방법은

아래쪽에서 다시 정리하도록 하겠습니다.



2. 올림

올림함수는 CEILING 입니다.

이 함수는 인자를 하나만 사용합니다.

올림할 값만 넣어주시면 되십니다.

쿼리는 다음과 같습니다.

--올림
SELECT CEILING(12345.1234567)

위처럼 쿼리를 작성하면

아래처럼 

소수점 자리수를 올림하여 나오게 됩니다.




3. 내림

내림함수는 FLOOR 입니다.

내림도 올림처럼 인자는 값 하나입니다.

예시 쿼리는 다음과 같습니다.

--내림
SELECT FLOOR(12345.1234567)

위처럼 입력하면

소수점 자리수 내림해서 나오게 됩니다.

결과는 다음과 같습니다.




4. 반올림에서 0 제거하기

1번에서 나온 결과를 보면

12345.120000

이런 식으로 결과가 나왔습니다.

그런데 12345.12

이렇게 나오게 하고 싶습니다.

그럴 때는 다음과 같이 해주시면 되십니다.

--0제거 반올림
SELECT CONVERT(NUMERIC(13,2), ROUND(12345.1234567, 2))

CONVERT 함수를 이용해서 

소수점 2번째 자리까지만 나오게 하는 것입니다.

그러면 결과는 아래처럼 나옵니다.



이렇게 하면 원하는 대로

12345.12

이렇게 나오게 할 수 있습니다.






이상으로 SQL SERVER에서 올림, 내림, 반올림, 0 제거 하는 방법이였습니다~



728x90
반응형
LIST