적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
특정 길이나 전체 자릿수로 반올림한 숫자 값을 반환합니다.
구문
ROUND ( numeric_expression , length [ , function ] )
인수
numeric_expression
정밀 숫자 또는 근사 숫자 데이터 형식 범주의 식입니다.
length
numeric_expression 정밀하게 다소 반올림되어야 합니다. length는 tinyint, smallint 또는 int 형식의 식이어야 합니다. length가 양수이면 numeric_expression은 length로 지정된 10진수 자리의 숫자로 반올림됩니다. length가 음수이면 numeric_expression은 length로 지정된 소수점의 왼쪽에 반올림됩니다.
function
어떤 종류의 수술을 수행해야 할지.
함수 는 tinyint, smallint, int여야 합니다. 함수 가 생략되었거나 (기본값) 값이 될 0 경우, numeric_expression 반올림됩니다. 이 아닌 0 값이 지정되면 numeric_expression 절단됩니다.
반환 형식
다음 데이터 형식을 반환합니다.
| 식 결과 | 반환 형식 |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| decimal 및 numeric 범주(p, s) | 십진법(p, s) |
| money 및 smallmoney 범주 | money |
| float 및 real 범주 | float |
설명
ROUND항상 값을 반환합니다. 길이가 음수이고 소수ROUND점 앞의 숫자 수보다 크면 를 반환합니다0.예제 결과 ROUND(748.58, -4)0 ROUND길이가 음수일 때 데이터 타입과 관계없이 반올림 numeric_expression을 반환합니다.예제 결과 ROUND(748.58, -1)750.00 ROUND(748.58, -2)700.00 ROUND(748.58, -3)748.58이 기본값인 십진법(5, 2) 1000.00으로 돌아가기 때문에 산술 오버플로우가 발생합니다.최대 네 자리로 반올림하려면 입력의 데이터 타입을 변경하세요. 예를 들면 다음과 같습니다.
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);결과 집합은 다음과 같습니다.
1000.00ROUND0에서 절반 반올림(상업적 반올림이라고도 함)으로 동점을 깨뜨립니다.예제 결과 ROUND(1.15, 1)1.2 ROUND(-1.15, 1)-1.2
예제
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
결과 집합은 다음과 같습니다.
151.00
SELECT ROUND(150.75, 0, 1);
GO
결과 집합은 다음과 같습니다.
150.00