적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft Fabric
의 SQL 분석 엔드포인트Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
지정한 수식의 절대(양수) 값을 반환하는 수치 연산 함수입니다. (ABS는 음수 값을 양수 값으로 변경합니다. ABS는 0 또는 양수 값에는 영향을 주지 않습니다.)
구문
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(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다."