Les fonctions mathématiques en SQL servent à effectuer divers calculs sur des données numériques. Elles permettent d’arrondir des valeurs, de trouver des minimums et des maximums, de calculer des sommes, des moyennes, des restes, et bien plus. Cette leçon présente les fonctions mathématiques les plus utilisées avec des exemples basés sur la base Sakila.
ABS() — Retourne la valeur absolue d’un nombre.Syntaxe :
ABS(nombre)
Exemple :
SELECT ABS(amount - 5) AS difference_absolue
FROM payment
LIMIT 3;
Résultat : Retourne la différence absolue entre la valeur de amount et 5.
CEIL() / CEILING() — Arrondit un nombre à l’entier supérieur.Syntaxe :
CEIL(nombre)
CEILING(nombre)
Exemple :
SELECT CEIL(amount) AS arrondi_haut
FROM payment
LIMIT 3;
Résultat : Arrondit la valeur de amount à l’entier supérieur.
FLOOR() — Arrondit un nombre à l’entier inférieur.Syntaxe :
FLOOR(nombre)
Exemple :
SELECT FLOOR(amount) AS arrondi_bas
FROM payment
LIMIT 3;
Résultat : Arrondit la valeur de amount à l’entier inférieur.
ROUND() — Arrondit un nombre à un nombre de décimales spécifié.Syntaxe :
ROUND(nombre, décimales)
Exemple :
SELECT ROUND(amount, 1) AS montant_arrondi
FROM payment
LIMIT 3;
Résultat : Arrondit la valeur de amount à une décimale.
POWER() / POW() — Élève un nombre à une puissance.Syntaxe :
POWER(nombre, exposant)
POW(nombre, exposant)
Exemple :
SELECT POWER(amount, 2) AS montant_carré
FROM payment
LIMIT 3;
Résultat : Élève la valeur de amount à la puissance 2.
SQRT() — Retourne la racine carrée d’un nombre.Syntaxe :
SQRT(nombre)
Exemple :
SELECT SQRT(amount) AS racine_amount
FROM payment
LIMIT 3;
Résultat : Retourne la racine carrée de la valeur de amount.
MOD() — Retourne le reste de la division d’un nombre par un autre.Syntaxe :
MOD(dividende, diviseur)
Exemple :
SELECT MOD(payment_id, 5) AS reste_mod
FROM payment
LIMIT 3;
Résultat : Retourne le reste de la division de payment_id par 5.
SIGN() — Retourne le signe d’un nombre (-1, 0 ou 1).Syntaxe :
SIGN(nombre)
Exemple :
SELECT SIGN(amount - 5) AS signe_valeur
FROM payment
LIMIT 3;
Résultat : Retourne -1 si la différence est négative, 0 si zéro, 1 si positive.
GREATEST() — Retourne la plus grande des valeurs données (MySQL, PostgreSQL).Syntaxe :
GREATEST(valeur1, valeur2, ...)
Exemple :
SELECT GREATEST(amount, 5) AS valeur_max
FROM payment
LIMIT 3;
Résultat : Retourne la plus grande des deux valeurs : amount ou 5.
LEAST() — Retourne la plus petite des valeurs données (MySQL, PostgreSQL).Syntaxe :
LEAST(valeur1, valeur2, ...)
Exemple :
SELECT LEAST(amount, 5) AS valeur_min
FROM payment
LIMIT 3;
Résultat : Retourne la plus petite des deux valeurs : amount ou 5.
RAND() — Retourne un nombre aléatoire entre 0 et 1.Syntaxe :
RAND()
Exemple :
SELECT RAND() AS valeur_aléatoire
FROM payment
LIMIT 3;
Résultat : Retourne un nombre aléatoire pour chaque ligne.
Arrondir les montants de paiement :
Utilisez ROUND(amount, 0) pour arrondir le montant à l’entier le plus proche.
Trouver les paiements avec un reste :
Utilisez MOD(payment_id, 2) pour distinguer paiements pairs et impairs.
Calculer des racines carrées :
Utilisez SQRT(amount) pour analyser la distribution des paiements.
Comparer des valeurs :
Utilisez GREATEST() et LEAST() pour sélectionner la valeur maximale ou minimale de plusieurs colonnes.
Les fonctions mathématiques SQL permettent de calculer, analyser et transformer des données numériques. Maîtrisez ces fonctions pour travailler efficacement avec les nombres dans vos requêtes SQL. Pratiquez avec des exemples de la base Sakila pour renforcer vos compétences.