Accéder au contenu principal

Fonction ROUND() de MySQL

La fonction `ROUND()` de MySQL est utilisée pour arrondir une valeur numérique à un nombre spécifié de décimales. Elle est particulièrement utile dans les scénarios où la précision est requise pour les calculs financiers, les rapports ou l'analyse des données.

Utilisation

La fonction `ROUND()` est couramment utilisée pour contrôler le nombre de décimales dans une sortie numérique, améliorant ainsi la lisibilité et la précision. Elle peut être appliquée dans les instructions `SELECT`, entre autres, à des fins d'arrondi.

ROUND(number, decimals)

Dans cette syntaxe, `number` est la valeur numérique à arrondir, et `decimals` est le nombre de décimales à arrondir. Si `decimals` est omis, le nombre est arrondi à l'entier le plus proche. `ROUND()` suit les règles d'arrondi standard, en arrondissant à la valeur la plus proche. Pour les valeurs moyennes (par exemple, `0.5`), il arrondit à zéro.

Exemples

1. Arrondi de base

SELECT ROUND(123.456);

Cet exemple arrondit le nombre `123.456` à l'entier le plus proche, ce qui donne `123`.

2. Spécification des décimales

SELECT ROUND(123.456, 2);

Ici, le nombre `123.456` est arrondi à deux décimales, ce qui donne `123.46`.

3. Arrondir les nombres négatifs

SELECT ROUND(-123.456, 1);

Dans cet exemple, le nombre négatif `-123.456` est arrondi à une décimale, ce qui donne `-123.5`.

4. Arrondir avec des décimales négatives

SELECT ROUND(12345.6789, -2);

Ceci arrondit `12345.6789` à la centaine la plus proche, ce qui donne `12300`.

Conseils et bonnes pratiques

  • Spécifiez soigneusement les décimales. Précisez toujours le nombre de décimales afin d'éviter les arrondis involontaires.
  • Tenez compte des limitations des types de données. Soyez conscient de la façon dont `ROUND()` interagit avec les différents types de données MySQL (par exemple, `FLOAT`, `DOUBLE`, `DECIMAL`) pour éviter les pertes de précision.
  • Utilisation dans le formatage des données. Utilisez `ROUND()` pour la présentation des données lorsqu'une précision constante est nécessaire.
  • Combinez avec d'autres fonctions. Combinez `ROUND()` avec des fonctions d'agrégation comme `SUM()` ou `AVG()` pour assurer un formatage précis des résultats, par exemple :
  • SELECT ROUND(AVG(salary), 2) FROM employees;
  • Considérations relatives à la performance. Bien que `ROUND()` soit efficace, son application à de grands ensembles de données peut avoir un impact sur les performances. Optimisez les requêtes si nécessaire.