ABS (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
Fonction mathématique qui renvoie la valeur absolue (positive) de l'expression numérique spécifiée. (ABS
change les valeurs négatives en valeurs positives. ABS
n’a aucun effet sur les valeurs positives ou égales à zéro.)
Conventions de la syntaxe Transact-SQL
Syntaxe
ABS ( numeric_expression )
Arguments
numeric_expression
Expression de catégorie de type de données numérique exact ou approximatif.
Types de retour
Le type de retour dépend du type d’entrée de numeric_expression :
Type d’entrée | Type de retour |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit | float |
Si le résultat ne tient pas dans le type de retour, une erreur de dépassement de capacité arithmétique se produit.
Exemples
Cet exemple montre les résultats de la fonction ABS
appliquée à trois nombres différents.
SELECT ABS(-1.0), ABS(0.0), ABS(1.0);
Voici le jeu de résultats.
---- ---- ----
1.0 .0 1.0
La fonction ABS
peut générer une erreur de dépassement de capacité lorsque la valeur absolue d'un nombre est supérieure au nombre maximal pouvant être représenté par le type de données spécifié. Par exemple, le type de données int
a une plage de valeurs allant de -2,147,483,648
à 2,147,483,647
. Le calcul de la valeur absolue de l'entier signé -2,147,483,648
provoque une erreur de dépassement de capacité, car cette valeur absolue est supérieure à la limite de plage positive du type de données int
.
DECLARE @i INT;
SET @i = -2147483648;
SELECT ABS(@i);
GO
Retourne ce message d’erreur :
« Msg 8115, Niveau 16, État 2, Ligne 3 »
« Une erreur de dépassement arithmétique s'est produite lors de la conversion de l'expression en type de données int. »
Voir aussi
CAST et CONVERT (Transact-SQL)
Types de données (Transact-SQL)
Fonctions mathématiques (Transact-SQL)
Fonctions intégrées (Transact-SQL)