SQL ROUND()

Dans le langage SQL la fonction ROUND() permet d’arrondir un résultat numérique. Cette fonction permet soit d’arrondir sans utiliser de décimal pour retourner un nombre entier (c’est-à-dire : aucun chiffre après la virgule), ou de choisir le nombre de chiffre après la virgule.

Syntaxe

Cette fonction mathématique peut être utilisée de la façon suivante:

SELECT ROUND(nom_colonne)
FROM `table`

Dans cet exemple la colonne “nom_colonne” contient des données numériques (exemple : FLOAT, INT, NUMERIC …) et retournera uniquement des entiers.

Pour obtenir le résultat avec 2 chiffres de décimal il convient de spécifier le nombre de décimal souhaité comme 2ème argument.

SELECT ROUND(nom_colonne, 2)
FROM `table`

Exemple

Imaginons une table qui contient des noms d’utilisateurs et le résultat d’un algorithme quelconque. Le résultat de l’algorithme pourrait être un indice utilisé par un moteur de recherche pour trouver l’utilisateur le plus pertinent pour une recherche. Ce résultat est un chiffre à virgule.

Table “resultat” :

idutilisateuralgorithme
1Thomas78.4216857
2Marie69.1294526
3Sophie63.5236241
4John24.6578954

Arrondir au chiffre entier

Il est possible d’utiliser la fonction ROUNT() pour arrondir ce résultat en un entier.

SELECT id, utilisateur, algorithme, ROUND(algorithme)
FROM `resultat`

Résultat :

idutilisateuralgorithmeROUND(algorithme)
1Thomas78.421685778
2Marie69.129452669
3Sophie63.523624164
4John24.657895425

Ce résultat démontre que la fonction a supprimée les chiffres après la virgule. Il est intéressant de noter que le résultat est arrondis à l’entier le plus proche (arrondit au chiffre entier supérieur si les décimales sont supérieur à 0.5).

Arrondir à 2 chiffres après la virgules

Il est possible d’arrondir aux 2 chiffres après la virgule en utilisant la requête SQL suivante:

SELECT id, utilisateur, algorithme, ROUND(algorithme, 2)
FROM `resultat`

Résultat :

idutilisateuralgorithmeROUND(algorithme, 2)
1Thomas78.421685778.42
2Marie69.129452669.13
3Sophie63.523624163.52
4John24.657895424.66

Arrondir le résultat à la dizaine

Il est possible d’utiliser une valeur négative dans le second argument pour obtenir une valeur arrondit à la dizaine, centaine ou plus selon la valeur indiquée. Cela peut être effectué en utilisant la requête suivante:

SELECT id, utilisateur, algorithme, ROUND(algorithme, -1)
FROM `resultat`

Résultat :

idutilisateuralgorithmeROUND(algorithme, -1)
1Thomas78.421685780
2Marie69.129452670
3Sophie63.523624160
4John24.657895420
Partager