Table des matières

Search

  1. Préface
  2. Le langage de transformation
  3. Constantes
  4. Opérateurs
  5. Variables
  6. Dates
  7. Fonctions

Référence du langage de transformation

Référence du langage de transformation

ROUND (Nombres)

ROUND (Nombres)

Arrondit les nombres à un nombre de chiffres ou de décimales spécifique. Vous pouvez également utiliser ROUND pour arrondir des dates.

Syntaxe

ROUND(
numeric_value
[,
precision
] )
Le tableau suivant décrit les arguments de cette commande:
Argument
Obligatoire/
Facultatif
Description
numeric_value
Requis
Type de données numérique. Vous pouvez entrer l'expression de transformation valide de votre choix. Utilisez des opérateurs pour effectuer des opérations arithmétiques avant d'arrondir les valeurs.
précision
Facultatif
Nombre entier positif ou négatif. Si vous entrez une
precision
positive, la fonction arrondit ce nombre aux décimales. Par exemple, ROUND(12.99, 1) renvoie 13.0 et ROUND(15.44, 1) renvoie 15.4.
Si vous entrez une
precision
négative, la fonction arrondit ce nombre de chiffres à gauche de la virgule et renvoie un nombre entier. Par exemple, ROUND(12.99, -1) renvoie 10 et ROUND(15.99, -1) renvoie 20.
Si vous entrez une
precision
décimale, la fonction arrondit à l'entier le plus proche avant d'évaluer l'expression. Par exemple, ROUND(12.99, 0.8) renvoie 13.0, car la fonction arrondit 0.8 à 1, puis évalue l'expression.
Si vous omettez l'argument
precision
, la fonction arrondit au nombre entier le plus proche, en tronquant la partie décimale du nombre. Par exemple, ROUND(12.99) renvoie 13.

Valeur de retour

Valeur numérique.
Si l'un des arguments est NULL, ROUND renvoie NULL.
Si la valeur de retour est décimale avec une précision supérieure à 15, vous pouvez activer la précision élevée pour garantir une précision décimale jusqu'à 28 chiffres.

Exemples

L'expression suivante renvoie les valeurs du port Price arrondies à trois décimales.
ROUND( PRICE, 3 )
PRICE
RETURN VALUE
12.9936
12.994
15.9949
15.995
-18.8678
-18.868
56.9561
56.956
NULL
NULL
Vous pouvez arrondir des chiffres à gauche de la décimale en transmettant un nombre entier négatif dans l'argument de
précision
 :
ROUND( PRICE, -2 )
PRICE
RETURN VALUE
13242.99
13200.0
1435.99
1400.0
-108.95
-100.0
NULL
NULL
Si vous transmettez une valeur décimale dans l'argument de
précision
, le
Service d'intégration de données
l'arrondit au nombre entier le plus proche avant d'évaluer l'expression:
ROUND( PRICE, 0.8 )
PRICE
RETURN VALUE
12.99
13.0
56.34
56.3
NULL
NULL
Si vous omettez l'argument de
précision
, la fonction arrondit à l'entier le plus proche :
ROUND( PRICE )
PRICE
RETURN VALUE
12.99
13.0
-15.99
-16.0
-18.99
-19.0
56.95
57.0
NULL
NULL

Conseil

Vous pouvez également utiliser ROUND pour définir explicitement la précision des valeurs calculées et obtenir les résultats attendus. Lorsque le
Service d'intégration de données
est exécuté en mode précision faible, il tronque le résultat des calculs si la précision de la valeur est supérieure à 15 chiffres. Par exemple, vous pouvez traiter l'expression suivante en mode de précision faible :
7/3 * 3 = 7
Dans ce cas, le
Service d'intégration de données
évalue le côté gauche de l'expression sous la forme 6.999999999999999, car il tronque le résultat de la première opération de division. Le
Service d'intégration de données
évalue l'expression complète comme FALSE. Ceci n'est peut-être pas le résultat que vous attendiez.
Pour obtenir le résultat attendu, utilisez ROUND pour arrondir le résultat tronqué du côté gauche de l'expression au résultat attendu. Le
Service d'intégration de données
évalue l'expression suivante comme TRUE :
ROUND(7/3 * 3) = 7