0Pricing
SQL Academy · Leçon

Arrondir et tronquer

ROUND, CEIL, FLOOR et TRUNC.

Arrondir et tronquer est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.

Pourquoi l'arrondi est important

Lorsque vous travaillez avec des nombres en SQL, vous obtenez souvent des résultats comportant de nombreuses décimales. Par exemple, diviser 10 par 3 donne 3.3333333...

SQL fournit des fonctions intégrées pour contrôler le nombre de décimales que vous affichez ou stockez : ROUND, CEIL, FLOOR et TRUNC. Elles sont indispensables pour présenter clairement des données financières, des mesures et des statistiques.

SELECT 10.0 / 3.0 AS raw_result;

ROUND : utilisation de base

La fonction ROUND() arrondit un nombre à un nombre donné de décimales. Elle suit les règles d'arrondi standard : les chiffres supérieurs ou égaux à 5 sont arrondis vers le haut, et ceux qui sont inférieurs à 5 vers le bas.

La syntaxe est la suivante : ROUND(number, decimal_places). Si vous omettez le deuxième argument, l'arrondi se fait à l'entier le plus proche.

SELECT
  ROUND(3.14159, 2) AS two_decimals,
  ROUND(3.14159, 0) AS zero_decimals,
  ROUND(3.14159)    AS no_arg;

ROUND avec un nombre de décimales négatif

Une fonctionnalité moins connue de ROUND() est que vous pouvez passer un nombre négatif comme deuxième argument. L'arrondi se fait alors à gauche de la virgule : c'est utile pour arrondir à la dizaine, à la centaine ou au millier le plus proche.

Par exemple, ROUND(1567, -2) arrondit à la centaine la plus proche et donne 1600.

SELECT
  ROUND(1567.89, -1)  AS nearest_ten,
  ROUND(1567.89, -2)  AS nearest_hundred,
  ROUND(1567.89, -3)  AS nearest_thousand;

CEIL : toujours arrondir vers le haut

CEIL() (également écrit CEILING() dans certaines bases de données) arrondit toujours un nombre vers le haut à l'entier supérieur, quelle que soit sa partie décimale.

C'est utile lorsque vous devez vous assurer de ne jamais passer sous un minimum, par exemple pour calculer le nombre de pages nécessaires à l'affichage d'un ensemble de résultats.

SELECT
  CEIL(4.1)   AS ceil_4_1,
  CEIL(4.9)   AS ceil_4_9,
  CEIL(-4.1)  AS ceil_neg_4_1,
  CEIL(-4.9)  AS ceil_neg_4_9;

FLOOR : toujours arrondir vers le bas

FLOOR() arrondit toujours un nombre vers le bas à l'entier inférieur, quelle que soit sa partie décimale.

Notez que pour les nombres négatifs, FLOOR arrondit en s'éloignant de zéro : FLOOR(-4.1) donne -5, et non -4. C'est le contraire de ce à quoi certains débutants s'attendent.

SELECT
  FLOOR(4.9)   AS floor_4_9,
  FLOOR(4.1)   AS floor_4_1,
  FLOOR(-4.1)  AS floor_neg_4_1,
  FLOOR(-4.9)  AS floor_neg_4_9;

CEIL et FLOOR côte à côte

Voir CEIL et FLOOR ensemble permet de comprendre facilement la différence. CEIL monte toujours à l'entier suivant, tandis que FLOOR descend toujours.

Imaginez un bâtiment : FLOOR est le niveau du sol jusqu'auquel vous descendez, et CEIL est le plafond jusqu'auquel vous montez.

SELECT
  2.3   AS original,
  CEIL(2.3)  AS ceil_result,
  FLOOR(2.3) AS floor_result
UNION ALL
SELECT
  7.8,
  CEIL(7.8),
  FLOOR(7.8);

TRUNC : tronquer sans arrondir

TRUNC() (ou TRUNCATE() dans MySQL) supprime les chiffres décimaux sans effectuer d'arrondi. Elle supprime simplement les chiffres situés après la position indiquée.

C'est différent de ROUND : TRUNC(4.9) donne 4, et non 5. La partie décimale est simplement supprimée.

SELECT
  TRUNC(4.9)       AS trunc_4_9,
  TRUNC(4.1)       AS trunc_4_1,
  TRUNC(-4.9)      AS trunc_neg_4_9,
  TRUNC(3.14159, 3) AS trunc_3_decimals;

Comparaison entre ROUND et TRUNC

La différence essentielle entre ROUND et TRUNC est que ROUND modifie la valeur en fonction du chiffre suivant, tandis que TRUNC supprime toujours tout ce qui suit le point de coupure, sans ajustement.

Utilisez ROUND lorsque vous voulez obtenir la valeur mathématiquement la plus proche. Utilisez TRUNC lorsque vous voulez supprimer strictement de la précision sans aucun ajustement vers le haut, ce qui est courant dans les calculs financiers où vous ne devez jamais payer trop.

SELECT
  ROUND(2.567, 1)  AS rounded,
  TRUNC(2.567, 1)  AS truncated;
-- ROUND gives 2.6 (5 rounds up)
-- TRUNC gives 2.5 (just cuts off)

Utiliser ROUND dans une vraie table

Les fonctions d'arrondi sont particulièrement puissantes lorsqu'elles sont appliquées aux colonnes d'une table. Ici, nous créons une simple table produits avec des prix et nous appliquons ROUND pour les afficher clairement.

Cette méthode est très courante dans les requêtes de commerce électronique et de comptabilité, où les calculs bruts produisent de nombreuses décimales.

CREATE TABLE products (
  name  TEXT,
  price NUMERIC
);

INSERT INTO products VALUES
  ('Widget',  9.999),
  ('Gadget',  24.3333),
  ('Doohickey', 4.5678);

SELECT name, ROUND(price, 2) AS display_price
FROM products;

Combiner des fonctions dans une requête

Vous pouvez combiner des fonctions d'arrondi avec d'autres expressions SQL. Par exemple, calculez un prix remisé, puis arrondissez-le pour l'affichage.

Cette requête applique une remise de 15 %, arrondit le résultat à 2 décimales et affiche également les valeurs FLOOR et CEIL du prix remisé, ce qui fournit les prix entiers minimal et maximal.

SELECT
  name,
  price,
  ROUND(price * 0.85, 2)  AS discounted,
  FLOOR(price * 0.85)     AS min_price,
  CEIL(price  * 0.85)     AS max_price
FROM products;

Pagination avec CEIL

Une utilisation classique de CEIL consiste à calculer le nombre total de pages d'un système de pagination. Si vous avez 97 lignes et en affichez 10 par page, vous avez besoin de CEIL(97 / 10.0) = 10 pages (et non 9, car la dernière page contient 7 lignes).

Divisez toujours par un nombre décimal (10.0 et non 10) pour éviter la division entière, qui supprimerait le reste avant que CEIL puisse agir.

SELECT
  97 AS total_rows,
  10 AS rows_per_page,
  CEIL(97 / 10.0) AS total_pages;

Vérification rapide

Vérifiez votre compréhension des fonctions d'arrondi SQL.

Récapitulatif de la leçon

Excellent travail ! Voici un résumé des fonctions d'arrondi et de troncature en SQL :

  • ROUND(n, d) — arrondit à d décimales en suivant les règles mathématiques standard (à partir de 5, l'arrondi se fait vers le haut).
  • CEIL(n) — arrondit toujours vers le haut à l'entier supérieur.
  • FLOOR(n) — arrondit toujours vers le bas à l'entier inférieur.
  • TRUNC(n, d) — supprime les chiffres après la position d sans arrondir ; la valeur n'augmente jamais.

Utilisez ROUND pour l'affichage et les statistiques, CEIL pour les calculs de capacité minimale (comme le nombre de pages), FLOOR pour les calculs de capacité maximale et TRUNC lorsque vous ne devez jamais arrondir vers le haut, en particulier dans les contextes financiers.

Questions Fréquemment Posées

La leçon « Arrondir et tronquer » est-elle gratuite ?

Oui — le texte complet de « Arrondir et tronquer » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Arrondir et tronquer » ?

ROUND, CEIL, FLOOR et TRUNC. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer SQL Academy ?

Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Arrondir et tronquer » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?

Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Arithmétique et opérateurs
  2. Arrondir et tronquer
  3. Division entière ou décimale
  4. Fonctions mathématiques utiles
← Retour à SQL Academy