ABS (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric

Uma função matemática que retorna o valor absoluto (positivo) da expressão numérica especificada. (ABS altera valores negativos para valores positivos. ABS não tem efeito em valores zero ou positivos.)

Convenções de sintaxe de Transact-SQL

Sintaxe

ABS ( numeric_expression )  

Argumentos

numeric_expression
Uma expression da categoria de tipo de dados numéricos exatos ou aproximados.

Tipos de retorno

O tipo de retorno depende do tipo de entrada da numeric_expression:

Tipo de entrada Tipo de retorno
float, real float
decimal(p, s) decimal(38, s)
int, smallint, tinyint int
bigint bigint
money, smallmoney money
bit float

Se o resultado não se adequar ao tipo de retorno, ocorrerá um erro de estouro aritmético.

Exemplos

Este exemplo mostra os resultados do uso da função ABS em três números diferentes.

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

Veja a seguir o conjunto de resultados.

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

A função ABS pode produzir um erro de estouro quando o valor absoluto de um número excede o maior número que o tipo de dados especificado pode representar. Por exemplo, o tipo de dados int tem um intervalo de valor entre -2,147,483,648 e 2,147,483,647. O cálculo do valor absoluto para o inteiro com sinal -2,147,483,648 causará um erro de estouro porque seu valor absoluto excede o limite positivo do intervalo do tipo de dados int.

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

Retorna essa mensagem de erro:

“Mensagem 8115, Nível 16, Estado 2, Linha 3"

"Erro de estouro aritmético ao converter a expressão em dados tipo int".

Confira também

CAST e CONVERT (Transact-SQL)
Tipos de dados (Transact-SQL)
Funções matemáticas (Transact-SQL)
Funções internas (Transact-SQL)