Share via


ABS (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans 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 )  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez Versions antérieures de la documentation.

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 obtenu.

---- ---- ----  
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)