Accéder au contenu principal

Maîtriser SQL ROUND : Traitement de précision dans l'analyse des données

Apprenez à utiliser la fonction SQL ROUND dans ce tutoriel. Il couvre l'implémentation de la fonction ROUND dans Oracle, MySQL, PostgreSQL et SQL Server.
Actualisé 14 nov. 2024  · 10 min de lecture

Lorsque vous travaillez avec des données, la précision est importante. Mais en tant que data scientist ou data engineer, vous êtes confronté chaque jour à la complexité de la transformation des données en informations.

Puisqu'il est toujours possible d'affiner vos compétences, vous pouvez améliorer vos capacités et votre confiance dans le traitement des données en utilisant la fonction SQL `ROUND`.

Ce guide a pour but d'explorer comment une fonction SQL `ROUND' peut affiner la précision des données dans votre analyse.

Qu'est-ce que SQL ROUND ?

La fonction ROUND est un outil fondamental qui permet d'ajuster la précision des données numériques dans SQL. Il arrondit les valeurs à un nombre spécifié de décimales et simplifie les données pour l'analyse.

Par exemple, avec SQL ROUND, vous pouvez transformer un nombre comme 3.14159 en 3.14 en l'arrondissant à deux décimales. Ceci est utile lorsque la précision exacte n'est pas nécessaire et que des chiffres arrondis suffisent pour l'interprétation.

Maintenant que vous savez ce qu'est SQL ROUND, voyons comment le mettre en œuvre dans différentes bases de données.

Syntaxe ROUND

La fonction ROUND est courante, mais sa syntaxe n'est pas uniforme dans toutes les bases de données. Voici en quoi il diffère :

Syntaxe dans Oracle, MySQL et PostgreSQL

Dans ces bases de données, ROUND suit un format simple à deux paramètres :

ROUND(number, decimal_places)

Ici :

  • L'entrée fait référence au nombre que vous souhaitez arrondir.
  • Les décimales indiquent le nombre de décimales à arrondir.

Syntaxe dans le serveur SQL

Cependant, SQL Server ajoute une particularité à ce format : il dispose d'un troisième paramètre facultatif appelé function :

ROUND(number, decimal_places [, function])

Ici :

  • Les deux premiers paramètres, input et decimals, fonctionnent comme dans les autres bases de données.
  • Le paramètre de fonction optionnel spécifie le sens de l'arrondi dans certaines conditions.

Cette différence de syntaxe semble minime, mais il est essentiel de la comprendre, car elle vous permet d'appliquer correctement la fonction ROUND, quel que soit l'environnement de base de données dans lequel vous travaillez.

Paramètres de la fonction SQL ROUND

La fonction ROUND utilise trois paramètres principaux : l'entrée, les décimales et l'opération. En comprenant ces paramètres, vous pouvez utiliser efficacement la fonction dans les bases de données SQL.

Paramètre d'entrée

L'entrée est le nombre que vous souhaitez arrondir. Il peut s'agir d'un nombre direct, d'une colonne de base de données ou du résultat d'une expression.

Paramètre décimal

Le paramètre décimal détermine le nombre de décimales à partir duquel vous arrondissez les données. Un nombre positif est arrondi à ce nombre de décimales.

Fonction Paramètre

Le paramètre de fonction est facultatif. Il décide du sens de l'arrondi pour les valeurs situées exactement au milieu de deux nombres. Par défaut, sa valeur est de 0. Toute autre valeur conduit la fonction à tronquer ou à couper l'entrée sans l'arrondir.

Ces paramètres permettent d'arrondir les chiffres de manière précise et contrôlée.

Utilisation de la fonction SQL ROUND dans les bases de données SQL

Vous pouvez utiliser SQL ROUND dans plusieurs bases de données SQL. Cependant, en fonction de la base de données, son application peut légèrement différer en termes de syntaxe et de comportement.

Voici comment vous pouvez l'utiliser dans certaines des bases de données les plus populaires :

Mise en œuvre dans Oracle

La fonction ROUND d'Oracle fonctionne avec des données numériques et des valeurs de date. Lorsqu'il est appliqué à des nombres, il arrondit la valeur à la décimale spécifiée.

Pour les valeurs de date, ROUND peut ajuster une date au jour, au mois, à l'année, etc. le plus proche, en fonction du format spécifié.

Voici un exemple de fonctionnement dans Oracle :

Supposons que vous disposiez du tableau suivant : PRODUCTS.

image8.jpg

Maintenant, si vous voulez arrondir la colonne standard_cost à une décimale, voici comment vous devez faire une requête.

SELECT Round(STANDARD_COST, 1) 
FROM PRODUCTS

Voici à quoi ressemblera le coût arrondi.

image7.jpg

Mise en œuvre dans MySQL

Dans MySQL, ROUND fonctionne de manière similaire à l'arrondi des nombres à une précision spécifiée.

Voici un exemple de fonctionnement :

Supposons que vous disposiez du tableau suivant : purchase_details.

image16.jpg

Maintenant, si vous voulez arrondir la colonne Paid_amount à deux décimales, voici comment vous devez faire une requête.

SELECT Round(Paid_amount, 2) 
AS Result
FROM purchase_details

Voici à quoi ressemblera le montant arrondi.

image3.jpg

Mise en œuvre dans PostgreSQL

PostgreSQL implémente également ROUND de la même manière. Voici un exemple de la manière dont vous pouvez le mettre en œuvre :

Supposons que vous disposiez du tableau suivant : reviews.

image14.jpg

Maintenant, si vous voulez arrondir la colonne imdb_score à zéro décimale, voici comment vous devez faire une requête.

SELECT Round(imdb_score, 0) 
AS Result 
FROM cinema.reviews

Voici à quoi ressembleront les critiques de films arrondies.

image9.jpg

Mise en œuvre dans le serveur SQL

Dans Microsoft SQL Server, ROUND se comporte de la même manière qu'Oracle lorsqu'il s'agit de valeurs numériques.

Mais un aspect unique de SQL Server est son troisième paramètre - fonction - qui permet aux utilisateurs de spécifier s'ils veulent arrondir le nombre (fonction = 0 ou omis) ou le tronquer (fonction = 1).

Voici un exemple du fonctionnement de SQL ROUND dans un serveur SQL :

Supposons que vous disposiez du tableau suivant : order_items.

image10.jpg

Maintenant, si vous voulez arrondir la colonne list_price à une décimale, voici comment vous devez faire une requête.

SELECT Round(list_price, 1,0) 
AS Result 
FROM sales.order_items

Voici à quoi ressemblera le prix arrondi.

image6.jpg

Mise en œuvre pratique

Maintenant que vous connaissez les paramètres, il est temps de mettre en pratique la fonction ROUND. Voyons donc comment procéder avec les nombres et les dates dans l'analyse des données.

ROND avec chiffres

Supposons que vous disposiez d'un tableau nommé orderDetails, et qu'il contienne une colonne de prix avec plusieurs décimales.

image4.jpg

Maintenant, si vous voulez arrondir la colonne Price à une décimale, voici comment vous devez faire une requête.

SELECT Round(Price, 1) 
AS Result
FROM orderDetails

Cette requête arrondit chaque prix du tableau à la première décimale.

Et voici à quoi ressemblera le résultat :

image2.jpg

ROND avec dates

En SQL, vous pouvez arrondir les valeurs de la date à un composant spécifique comme l'année, le mois, l'heure ou la minute.

Supposons que vous disposiez d'un tableau nommé orders.

image5.jpg

Si vous souhaitez arrondir la colonne order_date à l'année la plus proche, voici comment créer une requête :

SELECT YEAR(order_date) 
AS ROUNDED_DATE
FROM sales.orders

Cette requête arrondit chaque date de la colonne à l'année la plus proche.

Et voici à quoi ressemblera le résultat :

image15.jpg

Techniques avancées SQL ROUND

Au-delà de l'arrondi de base, la fonction SQL ROUND est également utilisée dans des scénarios plus avancés, comme par exemple :

  • Revue de presse SQL
  • SQL arrondit à la baisse
  • Arrondissement à des intervalles spécifiques

Voici comment fonctionne chacun d'entre eux :

SQL ROUND Up et ROUND Down

Bien que la fonction ROUND arrondisse à la valeur la plus proche, vous pouvez obtenir des directions d'arrondi spécifiques à l'aide des fonctions CEIL et FLOOR.

CEIL arrondit toute valeur décimale au nombre entier supérieur. Par exemple, regardez ceci :

Vous disposez d'un tableau appelé reviews.

image13.jpg

Voici comment vous allez appliquer la fonction CEIL à la colonne user_score.

Select CEIL(user_score) 
FROM reviews

Voici le résultat que vous obtiendrez :

image11.jpg

Contrairement à la fonction CEIL, FLOOR arrondit toute valeur décimale au nombre entier le plus proche. Par exemple, regardez ceci.

Si vous appliquez FLOOR au tableau reviews précédent, voici comment vous ferez la requête :

Select FLOOR(user_score) 
FROM reviews

Voici le résultat que vous obtiendrez :

image1.jpg

Arrondir à des intervalles spécifiques

Parfois, vous devez arrondir les nombres à des intervalles spécifiques, comme les 5, 10 ou 100 les plus proches. Pour ce faire, vous devez combiner ROUND avec la division et la multiplication.

Supposons que vous deviez arrondir un nombre ou une colonne à la dizaine la plus proche, et pour ce faire, vous ferez la requête suivante :

SELECT Round(number / 10) * 10
FROM table_name

Cette technique permet de relever les défis de la gestion des stocks ou de l'analyse statistique, où les données regroupées en intervalles spécifiques ont plus de sens.

Fonctions similaires à SQL ROUND

En plus de ROUND, plusieurs autres fonctions existent en SQL pour gérer l'arrondi et la troncature des nombres.

Fonction CEIL

La fonction CEILING, ou CEIL, arrondit un nombre à l'entier le plus proche ou à la précision spécifiée. CEILING arrondit toujours à la valeur supérieure, contrairement à ROUND, qui arrondit à la valeur la plus proche.

Par exemple : CEILING(2.3) renvoie 3.

Cette fonction est particulièrement utile lorsque vous devez vous assurer que la valeur arrondie n'est pas inférieure au nombre original.

FLOOR Fonction

La fonction FLOOR arrondit un nombre à l'entier inférieur ou à la précision spécifiée.

Par exemple : FLOOR(2.7) renvoie 2.

Cette fonction garantit que le nombre arrondi n'est pas supérieur au nombre original.

Fonction TRUNC

La fonction TRUNC (truncate) supprime la partie décimale d'un nombre, en l'arrondissant à zéro.

Par exemple : TRUNC(2.9) renvoie 2, et TRUNC(-2.9) renvoie -2.

TRUNC supprime la partie fractionnaire d'un nombre sans nécessairement l'arrondir.

En d'autres termes, chaque fonction - CEILING, FLOOR et TRUNC - a un but spécifique dans la manipulation des données, en complément de la fonction ROUND.

Grâce à ces fonctions, vous pouvez traiter un large éventail de scénarios d'arrondi avec plus de précision et d'adéquation au contexte de données donné. Si vous souhaitez apprendre d'autres techniques SQL similaires, consultez l'aide-mémoire et commencez à vous entraîner.

Conclusion

Il est très important que vos données soient correctes, et la fonction SQL ROUND est un excellent moyen de s'assurer que vos chiffres sont faciles à utiliser. Il vous permet d'arrondir vos chiffres à la décimale la plus proche et de rendre vos données plus compréhensibles.

Si vous devez arrondir vos chiffres d'une manière spécifique, d'autres fonctions telles que CEIL, FLOOR, et TRUNC peuvent vous aider.

Que vous débutiez en tant que praticien junior des données ou que vous cherchiez à perfectionner vos compétences, des cours tels que SQL Fundamentals et Intermediate SQL vous aideront.

Il est maintenant temps de mettre cela en pratique. Bonne chance !

Obtenez une certification pour le poste d'analyste de données de vos rêves

Nos programmes de certification vous aident à vous démarquer et à prouver aux employeurs potentiels que vos compétences sont adaptées à l'emploi.

Obtenez Votre Certification
Timeline mobile.png

Photo of Laiba Siddiqui
Author
Laiba Siddiqui
LinkedIn
Twitter

Je suis un stratège du contenu qui aime simplifier les sujets complexes. J'ai aidé des entreprises comme Splunk, Hackernoon et Tiiny Host à créer un contenu attrayant et informatif pour leur public.

Sujets

Commencez votre voyage SQL dès aujourd'hui !

Certification disponible

cours

Introduction à SQL

2 hr
886.8K
Apprenez à créer et à interroger des bases de données relationnelles à l'aide de SQL en seulement deux heures.
Afficher les détailsRight Arrow
Commencer Le Cours
Voir plusRight Arrow