2. Manipulation des Chaînes de Caractères
CONCAT
Concatène deux ou plusieurs chaînes de caractères.
SELECT CONCAT('Bonjour', ' ', 'le monde') AS message;
SUBSTRING
Extrait une sous-chaîne d'une chaîne de caractères.
SELECT SUBSTRING('Bonjour le monde', 9, 2) AS sous_chaine; -- Résultat: "le"
LENGTH
(ou LEN
)
Retourne la longueur d'une chaîne de caractères.
SELECT LENGTH('Bonjour') AS longueur; -- Résultat: 7
UPPER
et LOWER
Convertit une chaîne en majuscules ou en minuscules.
SELECT UPPER('Bonjour') AS majuscules; -- Résultat: "BONJOUR"
SELECT LOWER('BONJOUR') AS minuscules; -- Résultat: "bonjour"
TRIM
, LTRIM
, RTRIM
Supprime les espaces en début et/ou fin de chaîne.
SELECT TRIM(' Bonjour ') AS sans_espaces; -- Résultat: "Bonjour"
SELECT LTRIM(' Bonjour') AS sans_espaces_gauche; -- Résultat: "Bonjour"
SELECT RTRIM('Bonjour ') AS sans_espaces_droite; -- Résultat: "Bonjour"
REPLACE
Remplace toutes les occurrences d'une sous-chaîne par une autre.
SELECT REPLACE('Bonjour le monde', 'le', 'la') AS remplace; -- Résultat: "Bonjour la monde"
3. Manipulation des Dates
CURRENT_DATE
(ou GETDATE
)
Retourne la date actuelle.
SELECT CURRENT_DATE AS aujourdhui;
DATEADD
Ajoute un intervalle de temps à une date.
SELECT DATEADD(DAY, 5, '2023-10-25') AS date_ajoutee; -- Ajoute 5 jours
DATEDIFF
Calcule la différence entre deux dates.
SELECT DATEDIFF(DAY, '2023-10-25', '2023-11-01') AS difference_jours; -- Résultat: 7
DATEPART
Extrait une partie spécifique d'une date (année, mois, jour, etc.).
SELECT DATEPART(YEAR, '2023-10-25') AS annee; -- Résultat: 2023
FORMAT
Formate une date selon un modèle spécifique.
SELECT FORMAT('2023-10-25', 'dd/MM/yyyy') AS date_formatee; -- Résultat: "25/10/2023"
4. Fonctions Mathématiques
ROUND
Arrondit un nombre à un certain nombre de décimales.
SELECT ROUND(3.14159, 2) AS arrondi; -- Résultat: 3.14
CEILING
et FLOOR
Arrondit un nombre à l'entier supérieur ou inférieur.
SELECT CEILING(3.14159) AS plafond; -- Résultat: 4
SELECT FLOOR(3.14159) AS plancher; -- Résultat: 3
ABS
Retourne la valeur absolue d'un nombre.
SELECT ABS(-10) AS absolue; -- Résultat: 10
POWER
Calcule la puissance d'un nombre.
SELECT POWER(2, 3) AS puissance; -- Résultat: 8
SQRT
Calcule la racine carrée d'un nombre.
SELECT SQRT(16) AS racine; -- Résultat: 4
5. Fonctions Conditionnelles
CASE
Permet de définir des conditions dans une requête.
SELECT nom,
CASE
WHEN age < 18 THEN 'Mineur'
ELSE 'Majeur'
END AS statut
FROM utilisateurs;
COALESCE
Retourne la première valeur non nulle dans une liste.
SELECT COALESCE(NULL, 'Valeur par défaut') AS valeur; -- Résultat: "Valeur par défaut"
NULLIF
Retourne NULL
si deux valeurs sont égales.
SELECT NULLIF(10, 10) AS resultat; -- Résultat: NULL
6. Fonctions d'Aggrégation
COUNT
Compte le nombre de lignes.
SELECT COUNT(*) AS total_lignes FROM utilisateurs;
SUM
Calcule la somme des valeurs d'une colonne.
SELECT SUM(salaire) AS total_salaires FROM employes;
AVG
Calcule la moyenne des valeurs d'une colonne.
SELECT AVG(salaire) AS moyenne_salaires FROM employes;
MIN
et MAX
Retourne la valeur minimale ou maximale d'une colonne.
SELECT MIN(salaire) AS salaire_min FROM employes;
SELECT MAX(salaire) AS salaire_max FROM employes;
GROUP_CONCAT
(ou STRING_AGG
)
Concatène les valeurs d'une colonne pour chaque groupe.
SELECT departement, STRING_AGG(nom, ', ') AS employes
FROM employes
GROUP BY departement;
Récapitulatif des Fonctions SQL
Catégorie |
Fonction |
Description |
Exemple |
Transformation |
CAST |
Convertit un type de données en un autre. |
CAST('2023-10-25' AS DATE) |
CONVERT |
Convertit un type de données (syntaxe spécifique). |
CONVERT(DATE, '2023-10-25') |
Chaînes de caractères |
CONCAT |
Concatène des chaînes. |
CONCAT('Bonjour', ' ', 'le monde') |
SUBSTRING |
Extrait une sous-chaîne. |
SUBSTRING('Bonjour le monde', 9, 2) |
LENGTH |
Retourne la longueur d'une chaîne. |
LENGTH('Bonjour') |
UPPER / LOWER |
Convertit en majuscules/minuscules. |
UPPER('Bonjour') |
TRIM |
Supprime les espaces en début et fin. |
TRIM(' Bonjour ') |
REPLACE |
Remplace une sous-chaîne. |
REPLACE('Bonjour le monde', 'le', 'la') |
Dates |
CURRENT_DATE |
Retourne la date actuelle. |
CURRENT_DATE |
DATEADD |
Ajoute un intervalle à une date. |
DATEADD(DAY, 5, '2023-10-25') |
DATEDIFF |
Calcule la différence entre deux dates. |
DATEDIFF(DAY, '2023-10-25', '2023-11-01') |
DATEPART |
Extrait une partie d'une date. |
DATEPART(YEAR, '2023-10-25') |
FORMAT |
Formate une date. |
FORMAT('2023-10-25', 'dd/MM/yyyy') |
Mathématiques |
ROUND |
Arrondit un nombre. |
ROUND(3.14159, 2) |
CEILING / FLOOR |
Arrondit à l'entier supérieur/inférieur. |
CEILING(3.14159) |
ABS |
Retourne la valeur absolue. |
ABS(-10) |
POWER |
Calcule la puissance. |
POWER(2, 3) |
SQRT |
Calcule la racine carrée. |
SQRT(16) |
Conditionnelles |
CASE |
Définit des conditions. |
CASE WHEN age < 18 THEN 'Mineur' ELSE 'Majeur' END |
COALESCE |
Retourne la première valeur non nulle. |
COALESCE(NULL, 'Valeur par défaut') |
NULLIF |
Retourne NULL si deux valeurs sont égales. |
NULLIF(10, 10) |
Aggrégation |
COUNT |
Compte le nombre de lignes. |
COUNT(*) |
SUM |
Calcule la somme. |
SUM(salaire) |
AVG |
Calcule la moyenne. |
AVG(salaire) |
MIN / MAX |
Retourne la valeur minimale/maximale. |
MIN(salaire) |
GROUP_CONCAT |
Concatène les valeurs d'une colonne pour chaque groupe. |
STRING_AGG(nom, ', ') |
Ce guide couvre les principales fonctions SQL avec des exemples pratiques. Utilisez-le comme référence pour vos requêtes et analyses de données.