ROUND(Transact-SQL)

특정 길이나 전체 자릿수로 반올림한 숫자 값을 반환합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

ROUND ( numeric_expression , length [ ,function ] )

인수

  • numeric_expression
    bit 데이터 형식을 제외한 정확한 숫자 또는 근사 숫자 데이터 형식 범주의 입니다.
  • length
    numeric_expression을 반올림하는 전체 자릿수입니다. lengthtinyint, smallint 또는 int 유형의 식이어야 합니다. length가 양수일 경우 numeric_expressionlength에서 지정한 소수 자릿수로 반올림됩니다. length가 음수일 경우 numeric_expressionlength에서 지정한 대로 소수점의 왼쪽에서 반올림됩니다.
  • function
    수행할 연산의 유형입니다. functiontinyint, smallint 또는 int여야 합니다. function을 생략하거나 값이 0(기본값)일 경우 numeric_expression은 반올림됩니다. 0이 아닌 값을 지정하면 numeric_expression이 잘립니다.

반환 유형

numeric_expression과 동일한 유형을 반환합니다*.*

주의

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)

1000.00

1. ROUND 사용 및 어림값

다음 예에서는 마지막 자릿수가 항상 어림값인 ROUND를 사용하는 두 개의 식을 보여 줍니다.

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO

결과 집합은 다음과 같습니다.

----------- -----------
123.9990    124.0000    

2. ROUND 사용 및 어림값 반올림

다음 예에서는 반올림과 어림값를 보여 줍니다.

SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);GO

결과 집합은 다음과 같습니다.

----------

123.4500

(1 row(s) affected)

--------

100.00

(1 row(s) affected)

3. 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)

도움말 및 정보

SQL Server 2005 지원 받기