ROUND(Transact-SQL)
적용 대상: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System(PDW)
특정 길이나 전체 자릿수로 반올림한 숫자 값을 반환합니다.
구문
ROUND ( numeric_expression , length [ ,function ] )
참고
SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.
인수
numeric_expression
bit 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 expression입니다.
length
numeric_expression을 반올림할 전체 자릿수입니다. length는 tinyint, smallint 또는 int 형식의 식이어야 합니다. length가 양수이면 numeric_expression은 length로 지정된 10진수 자리의 숫자로 반올림됩니다. length가 음수이면 numeric_expression은 length로 지정된 소수점의 왼쪽에 반올림됩니다.
function
수행할 연산의 유형입니다. function은 tinyint, smallint 또는 int여야 합니다. function이 생략되거나 값이 0(기본값)이면 numeric_expression이 반올림됩니다. 0 이외의 값을 지정하면 numeric_expression이 잘립니다.
반환 형식
다음 데이터 형식을 반환합니다.
식 결과 | 반환 형식 |
---|---|
tinyint | int |
smallint | int |
int | int |
bigint | bigint |
decimal 및 numeric 범주(p, s) | decimal(p, s) |
money 및 smallmoney 범주 | money |
float 및 real 범주 | float |
설명
ROUND는 항상 하나의 값을 반환합니다. length가 음수이고 소수점 전의 자릿수보다 클 경우 ROUND는 0을 반환합니다.
예제 | 결과 |
---|---|
ROUND(748.58, -4) | 0 |
length가 음수일 경우 ROUND는 데이터 형식에 관계없이 반올림된 numeric_expression을 반환합니다.
예제 | 결과 |
---|---|
ROUND(748.58, -1) | 750.00 |
ROUND(748.58, -2) | 700.00 |
ROUND(748.58, -3) | 748.58은 기본적으로 10진수(5,2)로 1000.00을 반환할 수 없기 때문에 산술 오버플로가 발행합니다. |
4자릿수까지 반올림하려면 입력 데이터 형식을 변경합니다. 예를 들면 다음과 같습니다.SELECT ROUND(CAST (748.58 AS decimal (6,2)),-3); |
1000.00 |
예제
A. ROUND 및 어림값 사용
다음 예에서는 마지막 자릿수가 항상 어림값인 ROUND
를 사용하는 두 개의 식을 보여 줍니다.
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);
GO
결과 집합은 다음과 같습니다.
----------- -----------
123.9990 124.0000
B. ROUND 사용 및 어림값 반올림
다음 예에서는 반올림과 어림값을 보여 줍니다.
SELECT ROUND(123.4545, 2), ROUND(123.45, -2);
결과 집합은 다음과 같습니다.
---------- ----------
123.4500 100.00
C. ROUND를 사용하여 자르기
다음 예에서는 두 개의 SELECT
문을 사용하여 반올림과 자르기 간의 차이를 보여 줍니다. 첫 번째 문은 결과를 반올림하고 두 번째 문은 결과를 자릅니다.
SELECT ROUND(150.75, 0);
GO
SELECT ROUND(150.75, 0, 1);
GO
결과 집합은 다음과 같습니다.
--------
151.00
(1 row(s) affected)
--------
150.00
(1 row(s) affected)
참고 항목
CEILING(Transact-SQL)
데이터 형식(Transact-SQL)
식(Transact-SQL)
FLOOR(Transact-SQL)
수치 연산 함수(Transact-SQL)