ABS(Transact-SQL)

적용 대상:SQL 서버Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric 의 SQL 분석 엔드포인트Microsoft Fabric 의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

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

Transact-SQL 구문 표기 규칙

구문

ABS ( numeric_expression )  

인수

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

반환 형식

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

입력 형식 반환 형식
플로트, 진짜 float
10진수(p, s) 10진수(38, s)
지능, 작은,조인트 int
bigint bigint
돈, 소액 돈 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(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다."