[MSSQL] 소수점 2자리 표시 방법 (소수점 자릿수 고정)
- 데이터베이스/MSSQL
- 2025. 6. 1.
SQL Server에서 숫자의 소수점 자릿수를 반올림하거나 소수점 자리를 고정해야 할 경우가 있다. 이럴 때는 ROUND, CAST, CONVERT, FORMAT, STR, FLOOR 함수를 사용할 수 있으며, 아래의 소수점 자릿수를 조절할 수 있는 5가지 방법을 이해하면 상황에 맞는 적합한 방법을 사용할 수 있을 것이다.
목차 |
ROUND 함수로 소수점 2자리 반올림
SELECT ROUND(123.4, 2) AS result1
, ROUND(123.456, 2) AS result2
![]() |
ROUND(숫자, 자릿수)
소수점 셋째 자리의 값인 6을 기준으로 반올림하여, 소수점 둘째 자리까지 반올림된 수치형 결과를 반환한다.
ROUND 함수는 숫자 그대로 반환되기 때문에 지정한 소수점 자릿수가 항상 고정된 형태로 출력되지 않는다.
FORMAT 함수로 소수점 2자리 반올림 및 고정
SELECT FORMAT(123.4, 'N2') AS result1
, FORMAT(123.456, 'N2') AS result2
![]() |
FORMAT(숫자, 'N자릿수')
소수점 셋째 자리의 값인 6을 기준으로 반올림하여, 소수점 둘째 자리까지 반올림된 문자열(NVARCHAR)을 반환한다.
FORMAT 함수는 결과를 문자열로 출력하기 때문에, 지정한 소수점 자릿수가 항상 고정되어 출력된다.
※ FORMAT 함수는 SQL Server 2012 이상에서 사용할 수 있음
CAST 또는 CONVERT 함수로 소수점 2자리 출력
SELECT CAST(123.456 AS NUMERIC(10, 2)) AS result1
, CONVERT(NUMERIC(10, 2), 123.456) AS result2
![]() |
위의 예제는 숫자 123.456을 NUMERIC(10,2) 형식으로 변환하여 소수 둘째 자리까지만 출력하는 방법이다.
CAST와 CONVERT 모두 결과는 같지만, CAST는 SQL 표준 함수이고, CONVERT는 SQL Server에서 날짜 포맷 처리 등 추가 기능에 자주 사용된다.
STR 함수로 소수점 고정 길이 문자열 반환
SELECT STR(123.4, 6, 2) AS result1
, STR(123.456, 6, 2) AS result2
![]() |
STR(숫자, 전체길이, 소수점 자릿수)
이 예제는 숫자 123.456을 소수 둘째 자리까지 반올림하여 '123.46'이라는 고정 길이 문자열(6자리)을 반환한다.
STR 함수는 전체 길이를 너무 작게 지정하면 잘리거나 NULL 반환되므로 주의가 필요하다.
FLOOR 또는 ROUND 함수로 절사(버림) 처리 방법
SELECT ROUND(123.456, 2, 1) AS result1
, FLOOR(123.456 * 100) / 100 AS result2
![]() |
ROUND(숫자, 자릿수, 반올림 or 절사(1))
ROUND(123.456, 2, 1)은 소수점 셋째 자리 이하를 버리고, 둘째 자리까지 남기는 절사 방법이며, 6을 버리고 123.45 반환한다.
FLOOR(숫자 * 자릿수) / 자릿수
( 10 = 1자리, 100 = 2자리, 1000 = 3자리 ... )
FLOOR(123.456 * 100) / 100은 숫자를 100배 해서 정수로 만든 뒤 내림(FLOOR) 처리한 후 다시 100으로 나누며 123.45 반환한다.
ROUND은 간단한 소수 절사에 가장 적합하고, FLOOR는 복잡한 로직, 음수 계산, 정수 단위 절사에서 조금 더 효율적으로 사용할 수 있다.