다음을 통해 공유


ABS(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

지정한 수식의 절대(양수) 값을 반환하는 수치 연산 함수입니다. (ABS는 음수 값을 양수 값으로 변경합니다. ABS는 0 또는 양수 값에는 영향을 주지 않습니다.)

Transact-SQL 구문 표기 규칙

구문

ABS ( numeric_expression )  

인수

numeric_expression
정밀 숫자 또는 근사 숫자 데이터 형식 범주의 식입니다.

반환 형식

반환 형식은 numeric_expression 입력 형식에 따라 달라집니다.

입력 형식 반환 형식
float, real float
10진수(p, s) 10진수(38, s)
int, smallint, tinyint int
bigint bigint
money, smallmoney money
bit float

결과가 반환 형식에 맞지 않으면 산술 오버플로 오류가 발생합니다.

예제

이 예에서는 3가지의 다른 숫자에 ABS 함수를 사용한 결과를 보여줍니다.

SELECT ABS(-1.0), ABS(0.0), ABS(1.0);  

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

---- ---- ----  
1.0  .0   1.0  

ABS 함수가 수의 절대값이 지정된 데이터 형식으로 나타낼 수 있는 최대 수를 초과하면 오버플로 오류가 발생할 수 있습니다. 예를 들어 int 데이터 형식은 -2,147,483,648에서 2,147,483,647의 값 범위를 갖습니다. 부호 있는 정수 -2,147,483,648에 대한 절대값을 계산하면 이 절대값이 int 데이터 형식의 양수 범위 제한을 초과하기 때문에 오버플로 오류가 발생합니다.

DECLARE @i INT;  
SET @i = -2147483648;  
SELECT ABS(@i);  
GO  

이 오류 메시지를 반환합니다.

"메시지 8115, 수준 16, 상태 2, 줄 3"

"식을(를) 데이터 형식 int(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다."

참고 항목

CAST 및 CONVERT(Transact-SQL)
데이터 형식(Transact-SQL)
수치 연산 함수(Transact-SQL)
기본 제공 함수(Transact-SQL)