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 제거 하는 방법이였습니다~