ABS (Transact-SQL)
Se aplica a: punto de conexión de SQL Server Azure SQL Database Azure SQL Instancia administrada punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics System (PDW) de SQL Server en Microsoft Fabric Warehouse 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 )
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
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);
El conjunto de resultados es el siguiente:
---- ---- ----
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)