Les requêtes SQL peuvent devenir complexes sans l’utilisation adéquate des fonctions intégrées.
Sans maîtriser ces fonctions, vous risquez de perdre en efficacité dans le traitement des données.
Cet article décrit les fonctions SQL essentielles, incluant les fonctions de chaînes, dates, et mathématiques, pour améliorer vos requêtes.
Appréhendez les fondamentaux du langage SQL pour savoir assimiler ses fonctions standards.
Fonctions de chaînes en SQL
Fonction | Description |
---|---|
LEN(champ) | Retourne la longueur de la chaîne dans le champ spécifié. |
LOWER(champ) | Convertit tous les caractères de la chaîne en minuscules. |
UPPER(champ) | Convertit tous les caractères de la chaîne en majuscules. |
SUBSTRING(champ, dp, lg) | Extrait une sous-chaîne à partir d’une position donnée (dp) pour une longueur spécifiée (lg). |
LTRIM(champ) | Supprime les espaces à gauche de la chaîne dans le champ. |
RTRIM(champ) | Supprime les espaces à droite de la chaîne dans le champ. |
RIGHT(champ, n) | Retourne les n derniers caractères de la chaîne. |
LEFT(champ, n) | Retourne les n premiers caractères de la chaîne. |
REPLACE(champ, vs, vc) | Remplace chaque occurrence de la sous-chaîne (vs) par une autre sous-chaîne (vc) dans le champ. |
Tableau 5 : Les fonctions de chaînes de caractères en SQL
Voici des exemples pour chaque fonction de chaînes de caractères, accompagnés d’explications et des résultats attendus :
- LEN(champ)
Exemple :
SELECT nom, LEN(nom) AS longueur_nom
FROM employes;
Explication :
Cette requête retourne le nom des employés ainsi que la longueur de chaque nom.
Résultat :
Une liste affichant les noms des employés et le nombre de caractères dans chaque nom.
- LOWER(champ) et UPPER(champ)
Exemple :
SELECT nom, LOWER(nom) AS nom_en_minuscule,UPPER(nom) AS nom_en_majuscule
FROM employes;
Explication :
Cette requête convertit les noms des employés en minuscules et en majuscules simultanément.
Résultat :
Une liste affichant les noms des employés en minuscules ainsi qu’en majuscules.
- SUBSTRING(champ, dp, lg)
Exemple :
SELECT nom, SUBSTRING(nom, 1, 3) AS trois_premiers_caracteres
FROM employes;
Explication :
Cette requête extrait les trois premiers caractères de chaque nom d’employé.
Résultat :
Une liste avec les trois premiers caractères de chaque nom.
- RIGHT(champ, n)
Exemple :
SELECT nom, RIGHT(nom, 2) AS deux_derniers_caracteres
FROM employes;
Explication :
Cette requête retourne les deux derniers caractères de chaque nom d’employé.
Résultat :
Une liste avec les deux derniers caractères de chaque nom.
- LEFT(champ, n)
Exemple :
SELECT nom, LEFT(nom, 2) AS deux_premiers_caracteres
FROM employes;
Explication :
Cette requête retourne les deux premiers caractères de chaque nom d’employé.
Résultat :
Une liste avec les deux premiers caractères de chaque nom.
- REPLACE(champ, vs, vc)
Exemple :
SELECT nom, REPLACE(nom, 'e', 'E') AS nom_avec_E
FROM employes;
Explication :
Cette requête remplace toutes les occurrences de la lettre ‘e’ par ‘E’ dans les noms des employés.
Résultat :
Une liste avec les noms où toutes les lettres ‘e’ sont remplacées par ‘E’.
Fonctions de conversion SQL
Ces fonctions permettent de convertir des données d’un type à un autre. Par exemple :
- CAST(expr AS type) :Convertit une expression en un type spécifié.
- CONVERT(type, expr) :Convertit une expression en un type spécifié.
- CAST(expr AS type) et CONVERT(type, expr)
Exemple :
SELECT CAST(salaire AS VARCHAR) AS salaire_texte, CONVERT(VARCHAR, salaire) AS salaire_texte_2
FROM employes;
Explication :
Cette requête convertit les salaires des employés en chaînes de caractères (VARCHAR) en utilisant à la fois la fonction CAST et la fonction CONVERT.
Résultat :
Une liste affichant les salaires des employés sous forme de texte.
Fonctions de date en SQL
Ces fonctions permettent de manipuler et d’extraire des informations à partir de dates. Quelques exemples incluent :
Fonction | Description |
---|---|
GETDATE() | Renvoie la date et l’heure actuelles du système. |
DATEDIFF(format, expd1, expd2) | Calcule la différence entre deux dates selon le format spécifié (jours, mois, années, etc.). |
DATEADD(format, n, expd) | Ajoute un nombre spécifié d’unités de temps (jours, mois, années, etc.) à une date donnée. |
DAY(expd) | Renvoie le jour du mois d’une date spécifiée. |
MONTH(expd) | Renvoie le mois d’une date spécifiée. |
YEAR(expd) | Renvoie l’année d’une date spécifiée. |
DATEDEPART(format, expd) | Renvoie une partie spécifiée d’une date donnée (ex. : mois ou année) selon le format. |
Tableau 6 : les fonctions de date en SQL
Voici des exemples pour chaque fonction de date, avec des explications et les résultats attendus, en utilisant une table fictive d’employés :
- GETDATE()
Exemple :
SELECT GETDATE() AS DateActuelle;
Explication :
Cette requête renvoie la date et l’heure actuelles du système.
Résultat :
Une ligne affichant la date et l’heure du moment, par exemple : 2024-10-03 14:25:30.
- DATEDIFF(format, expd1, expd2)
Exemple :
SELECT DATEDIFF(DAY, '2024-01-01', '2024-10-03') AS NombreDeJours;
Explication :
Cette requête calcule le nombre de jours entre le 1er janvier 2024 et le 3 octobre 2024.
Résultat :
Le résultat serait 276, représentant le nombre total de jours entre les deux dates.
- DATEADD(format, n, expd)
Exemple :
SELECT DATEADD(MONTH, 2, '2024-10-03') AS DatePlusDeuxMois;
Explication :
Cette requête ajoute deux mois à la date du 3 octobre 2024.
Résultat :
Le résultat serait 2024-12-03, soit la date deux mois plus tard.
- DAY(expd)/ MONTH(expd)/ YEAR(expd)
Exemple :
SELECT
DAY('2024-10-03') AS JourDuMois,
MONTH('2024-10-03') AS MoisDeLaDate,
YEAR('2024-10-03') AS AnneeDeLaDate;
Explication :
Cette requête renvoie le jour, le mois et l’année de la date spécifiée, ici le 3 octobre 2024.
- JourDuMois :Renvoie 3.
- MoisDeLaDate :Renvoie 10, correspondant au mois d’octobre.
- AnneeDeLaDate :Renvoie 2024.
Résultat :
La requête retourne une seule ligne avec les valeurs 3, 10, et 2024 dans les colonnes respectives.
Fonctions mathématiques SQL
Ces fonctions effectuent des calculs mathématiques. Exemples :
Fonction | Description |
---|---|
SQRT(expn) | Renvoie la racine carrée de l’expression numérique spécifiée (expn). |
POWER(expn, n) | Élève l’expression numérique (expn) à la puissance n. |
SQUARE(expn) | Renvoie le carré de l’expression numérique (expn). |
ABS(expn) | Renvoie la valeur absolue de l’expression numérique (expn). |
SIGN(expn) | Renvoie le signe de l’expression numérique (expn) : -1 pour négatif, 1 pour positif, et 0 si zéro. |
Tableau7 : Les fonction mathématiques en SQL
Voici des exemples simplifiés pour chaque fonction mathématique:
- SQRT(expn)
Exemple :
SELECT SQRT(16) AS racine_carre;
Explication :
Cette requête calcule la racine carrée de 16.
Résultat :
4
- POWER(expn, n)
Exemple :
SELECT POWER(2, 3) AS puissance;
Explication :
Cette requête élève 2 à la puissance 3 (2 * 2 * 2).
Résultat :
8
- SQUARE(expn)
Exemple :
SELECT SQUARE(5) AS carre;
Explication :
Cette requête calcule le carré de 5 (5 * 5).
Résultat :
25
- ABS(expn)
Exemple :
SELECT ABS(-10)ASvaleur_absolue;
Explication :
Cette requête renvoie la valeur absolue de -10.
Résultat :
10
- SIGN(expn)
Exemple :
SELECT SIGN(-5) AS signe;
Explication :
Cette requête renvoie le signe de -5, qui est négatif.
Résultat :
-1
Fonctions trigonométriques SQL
Ces fonctions traitent des calculs liés aux angles. Par exemple :
Fonction | Description |
---|---|
SIN(angle) | Retourne le sinus d’un angle. |
COS(angle) | Retourne le cosinus d’un angle. |
TAN(angle) | Retourne la tangente d’un angle. |
Tableau 8 : Les fonction Trigonométriques en SQL
- SIN(angle)
Exemple :
SELECT SIN(30) AS Sinus_30;
Explication :
Cette requête renvoie le sinus de 30 degrés.
Résultat :
Le résultat serait 0.5 (car le sinus de 30 degrés est 0.5).
- COS(angle)
Exemple :
SELECT COS(60) AS Cosinus_60;
Explication :
Cette requête renvoie le cosinus de 60 degrés.
Résultat :
Le résultat serait 0.5 (car le cosinus de 60 degrés est 0.5).
- TAN(angle)
Exemple :
SELECT TAN(45) AS Tangente_45;
Explication :
Cette requête renvoie la tangente de 45 degrés.
Résultat :
Le résultat serait 1 (car la tangente de 45 degrés est 1).
Fonctions logarithmiques SQL
Ces fonctions effectuent des calculs logiques. Quelques exemples :
- LOG(n) :Retourne le logarithme de n.
- LOG10(n) :Retourne le logarithme en base 10 de n.
Voici des exemples pour chaque fonction logarithmique :
- LOG(n)
Exemple :
SELECT LOG(100) AS Logarithme_100;
Explication :
Cette requête renvoie le logarithme naturel de 100.
Résultat :
Le résultat serait environ 4.6052 (car le logarithme naturel de 100 est environ 4.6052).
- LOG10(n)
Exemple :
SELECT LOG10(1000) AS LogarithmeBase10_1000;
Explication :
Cette requête renvoie le logarithme en base 10 de 1000.
Résultat :
Le résultat serait 3 (car le logarithme en base 10 de 1000 est 3).
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Quelles sont les fonctions de chaînes de caractères en SQL ?
Comment convertir des types en SQL ?
Comment manipuler les dates en SQL ?
Quelles fonctions mathématiques sont disponibles en SQL ?
Quels calculs trigonométriques peut-on effectuer avec SQL ?
Conclusion
Les fonctions SQL sont essentielles pour la manipulation et l’analyse des données. Quelle fonction SQL vous semble la plus utile pour vos besoins spécifiques ?