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 또는 양수 값에는 영향을 주지 않습니다.)
구문
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)