Compartir a través de


ABS (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric

Función matemática que devuelve el valor absoluto positivo de una expresión numérica específica. (ABS cambia los valores negativos a valores positivos. ABS no tiene ningún efecto en los valores cero o positivos).

Convenciones de sintaxis de Transact-SQL

Sintaxis

ABS ( numeric_expression )  

Argumentos

numeric_expression
Una expresión de la categoría de tipo de datos numérico exacto o numérico aproximado.

Tipos de valores devueltos

El tipo de valor devuelto depende del tipo de entrada de numeric_expression:

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

Si el resultado no cabe en el tipo de valor devuelto, se produce un error de desbordamiento aritmético.

Ejemplos

En este ejemplo se muestra el resultado de usar la función ABS en tres números distintos.

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

Este es el conjunto de resultados.

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

La función ABS puede causar un error de desbordamiento cuando el valor absoluto de un número supera el número más grande que puede representar el tipo de datos especificado. Por ejemplo, el tipo de datos int tiene un rango de valores comprendido entre -2,147,483,648 y 2,147,483,647. El cálculo del valor absoluto del entero con signo -2,147,483,648 causará un error de desbordamiento porque su valor absoluto supera el límite del intervalo positivo para el tipo de datos int.

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

Devuelve este mensaje de error:

"Mensaje 8115, nivel 16, estado 2, línea 3"

“Error de desbordamiento aritmético al convertir expresión al tipo de datos int”.

Consulte también

CAST y CONVERT (Transact-SQL)
Tipos de datos (Transact-SQL)
Funciones matemáticas (Transact-SQL)
Funciones integradas (Transact-SQL)