Une fonction SQL est une opération prédéfinie qui accepte des valeurs d'entrée (arguments) et renvoie un résultat. Les fonctions peuvent être intégrées (fournies par le SGBD) ou définies par l'utilisateur (créées par les développeurs), mais dans cette leçon nous nous concentrons uniquement sur les fonctions intégrées.
Les fonctions SQL intégrées permettent de traiter les données directement dans la requête : transformer des valeurs, effectuer des calculs et travailler avec du texte, des dates et des nombres. Cela permet d'obtenir des résultats plus informatifs sans traitement supplémentaire côté application.
La syntaxe générale pour utiliser une fonction en SQL est :
NOM_FONCTION(argument1, argument2, ...);
NOM_FONCTION : Le nom de la fonction que vous souhaitez utiliser.argument1, argument2, ... : Les valeurs d'entrée (arguments) requises par la fonction. Il peut s'agir de noms de colonnes, de valeurs littérales ou même d'autres fonctions.Les fonctions dans la clause SELECT vous permettent de transformer ou de calculer des valeurs pour le résultat final.
UPPER)La fonction UPPER() convertit une chaîne en majuscules.
SELECT UPPER(first_name) AS uppercase_name
FROM employees;
Cette requête récupère la colonne first_name de la table employees et convertit chaque nom en majuscules, en donnant au résultat l'alias uppercase_name.
ROUND)La fonction ROUND() arrondit un nombre à un nombre spécifié de décimales.
SELECT ROUND(salary, 0) AS rounded_salary
FROM employees;
Cette requête récupère la colonne salary de la table employees et arrondit chaque salaire au nombre entier le plus proche, avec l'alias rounded_salary.
NOW)La fonction NOW() ne prend pas d'arguments et renvoie la date et l'heure actuelles.
SELECT NOW() AS current_datetime;
Cette requête renvoie la date et l'heure actuelles.
Les fonctions dans la clause WHERE vous permettent de filtrer les données en fonction de valeurs calculées ou transformées.
LENGTH)La fonction LENGTH() (ou LEN() selon le SGBD) renvoie la longueur d'une chaîne.
SELECT *
FROM products
WHERE LENGTH(product_name) > 20;
Cette requête récupère toutes les colonnes de la table products où la longueur du product_name est supérieure à 20 caractères.
YEAR)La fonction YEAR() extrait l'année d'une date.
SELECT *
FROM orders
WHERE YEAR(order_date) = 2023;
Cette requête récupère toutes les colonnes de la table orders où l'année de order_date est 2023.
ABS)La fonction ABS() renvoie la valeur absolue d'un nombre.
SELECT *
FROM transactions
WHERE ABS(amount) > 100;
Cette requête récupère toutes les colonnes de la table transactions où la valeur absolue du montant (amount) est supérieure à 100.
Les fonctions SQL peuvent être globalement classées dans les types suivants :
UPPER, LOWER, SUBSTRING, LENGTH, TRIM).ROUND, ABS, SQRT, MOD).NOW, YEAR, MONTH, DAY, DATE_ADD, DATE_SUB).COUNT, SUM, AVG, MIN, MAX). (Abordées dans une leçon ultérieure)CAST, CONVERT).AS) pour donner des noms significatifs aux colonnes calculées.Points clés de cette leçon :
En maîtrisant l'utilisation des fonctions intégrées dans les requêtes SQL, vous pouvez effectuer des manipulations et des analyses de données puissantes, extrayant ainsi des informations précieuses de vos données.