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)