Problème :
Vous souhaitez arrondir un nombre à un nombre spécifique de décimales.
Exemple :
Notre base de données a une table nommée product
avec des données dans les colonnes suivantes :id
, name
, et price_net
.
identifiant | nom | price_net |
---|---|---|
1 | pain | 2.34 |
2 | croissant | 1.22 |
3 | rouler | 0,68 |
Supposons qu'il y ait une taxe de 24 % sur chaque produit et que vous souhaitiez calculer le prix brut de chaque article (c'est-à-dire après taxes) et arrondir la valeur à deux décimales.
Solution :
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
Cette requête renvoie le prix brut arrondi à deux décimales :
identifiant | price_gross |
---|---|
1 | 2,90 |
2 | 1.51 |
3 | 0,84 |
Discussion :
Si vous souhaitez arrondir un nombre à virgule flottante à un nombre spécifique de décimales en SQL, utilisez la fonction ROUND. Le premier argument de cette fonction est la colonne dont vous voulez arrondir les valeurs ; le deuxième argument est facultatif et indique le nombre de décimales auxquelles vous souhaitez arrondir. Par défaut, si vous ne spécifiez pas le deuxième argument, la fonction arrondit à l'entier le plus proche.
Dans cet exemple, nous ne préciserons pas le nombre de décimales auxquelles nous voulons arrondir la colonne :
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
Et voici le résultat correspondant :
identifiant | price_gross |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |