Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Retourne une valeur numérique, arrondie à la longueur ou à la précision indiquée.
Conventions de la syntaxe Transact-SQL
Syntaxe
ROUND ( numeric_expression , length [ , function ] )
Arguments
numeric_expression
Expression de catégorie de type de données numérique exact ou approximatif.
length
La précision à laquelle numeric_expression doit être arrondie. length doit être une expression de type tinyint, smallint ou int. Quand length est un nombre positif, l’expression numeric_expression est arrondie au nombre de décimales indiqué par length. Quand length est un nombre négatif, l’expression numeric_expression est arrondie à gauche de la virgule décimale, comme indiqué par length.
function
Le type d’opération à réaliser.
La fonction doit être Tinyint, SmallInt ou Int. Lorsque la fonction est omise ou a une valeur de 0 (par défaut), numeric_expression est arrondie. Lorsqu’une valeur autre que 0 est spécifiée, numeric_expression est tronquée.
Types de retour
Retourne les types de données suivants.
| Résultat de l'expression | Type de retour |
|---|---|
| tinyint | int |
| smallint | int |
| int | int |
| bigint | bigint |
| Catégorie decimal et numeric (p, s) | décimale(p, s) |
| Catégorie money et smallmoney | money |
| Catégorie float et real | float |
Remarques
ROUNDRetourne toujours une valeur. Si la longueur est négative et supérieure au nombre de chiffres avant le point décimal,ROUNDil revient0.Exemple Résultats ROUND(748.58, -4)0 ROUNDRend un numeric_expression arrondi, quel que soit le type de données, lorsque la longueur est un nombre négatif.Exemples Résultats ROUND(748.58, -1)750.00 ROUND(748.58, -2)700.00 ROUND(748.58, -3)Cela entraîne un débordement arithmétique, car 748,58 passe par défaut à décimal(5, 2), qui ne peut pas retourner 1000.00.Pour arrondir à quatre chiffres, changez le type de données de l’entrée. Par exemple :
SELECT ROUND(CAST (748.58 AS DECIMAL (6, 2)), -3);Voici le jeu de résultats.
1000.00ROUNDRomps l’égalité en arrondissant la moitié loin de zéro (également appelé arrondi commercial).Exemples Résultats ROUND(1.15, 1)1.2 ROUND(-1.15, 1)-1.2
Exemples
R. Utilisez ROUND et estimations
L’exemple suivant montre deux expressions qui démontrent qu’en utilisant ROUND, le dernier chiffre est toujours une estimation.
SELECT ROUND(123.9994, 3),
ROUND(123.9995, 3);
GO
Voici le jeu de résultats.
----------- -----------
123.9990 124.0000
B. Utiliser les approximations ROUND et arrondissement
Cet exemple montre des arrondis et des approximations.
SELECT ROUND(123.4545, 2),
ROUND(123.45, -2);
Voici le jeu de résultats.
---------- ----------
123.4500 100.00
C. Utilisez ROUND pour tronquer
Cet exemple utilise deux instructions SELECT pour démontrer la différence entre l'arrondi et la troncature. La première instruction arrondit le résultat. La seconde instruction tronque le résultat.
SELECT ROUND(150.75, 0);
GO
Voici le jeu de résultats.
151.00
SELECT ROUND(150.75, 0, 1);
GO
Voici le jeu de résultats.
150.00