Partager via


ROUND (Transact-SQL)

Retourne une valeur numérique, arrondie à la longueur ou à la précision indiquée.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

ROUND ( numeric_expression , length [ ,function ] )

Arguments

  • numeric_expression
    Expression de la catégorie du type de données numériques exact ou approximatif, sauf pour le type de données bit.

  • length
    Précision définie pour arrondir numeric_expression. length doit être une expression de type tinyint, smallint ou int. Lorsque length est un nombre positif, numeric_expression est arrondie au nombre de décimales indiqué par length. Lorsque length est un nombre négatif, numeric_expression est arrondie à gauche de la virgule décimale, selon l'indication fournie par length.

  • function
    Type d'opération à effectuer. function doit être de type tinyint, smallint ou int. Lorsque function est omise ou a la valeur 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 retours

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)

decimal(38, s)

catégorie money et smallmoney

money

catégorie float et real

float

Notes

ROUND retourne toujours une valeur. Si length est une valeur négative supérieure au nombre de chiffres placés avant la virgule décimale, ROUND retourne 0.

Exemple

Résultat

ROUND(748.58, -4)

0

ROUND retourne une numeric_expression arrondie, quel que soit le type de données, lorsque length est un nombre négatif.

Exemples

Résultat

ROUND(748.58, -1)

750.00

ROUND(748.58, -2)

700.00

ROUND(748.58, -3)

1000.00

Exemples

A. Utilisation de ROUND et des estimations

Cet exemple contient deux expressions qui montrent qu'avec ROUND, le dernier chiffre est toujours une estimation.

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3)
GO

Voici l'ensemble des résultats.

----------- -----------
123.9990    124.0000    

B. Utilisation de ROUND et des approximations d'arrondi

Cet exemple montre des arrondis et des approximations.

SELECT ROUND(123.4545, 2);
GO
SELECT ROUND(123.45, -2);
GO

Voici l'ensemble des résultats.

----------

123.4500

(1 row(s) affected)

--------

100.00

(1 row(s) affected)

C. Utilisation de ROUND pour une troncature

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
SELECT ROUND(150.75, 0, 1);
GO

Voici l'ensemble des résultats.

--------
151.00

(1 row(s) affected)

--------
150.00

(1 row(s) affected)