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;