Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL 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 |
|---|---|
| flota, real | float |
| decimal(p, s) | decimal(38, s) |
| int, smallint, minyint | 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)