SQL est une compétence de base pour manipuler des bases de données, et l’ajout ou la soustraction de dates est l’une des opérations fréquemment requises. Cet article se concentre sur la manipulation des dates en SQL, expliquant en détail des syntaxes de base aux exemples pratiques. Cela permettra de gérer plus facilement les données de dates dans les tâches professionnelles.
Syntaxe de base pour l’ajout de dates en SQL
En SQL, des fonctions et des syntaxes standard sont utilisées pour ajouter des jours ou des mois à une date. Cela permet d’ajouter une période spécifique à une date donnée.
Syntaxe de base de la fonction DATEADD
Nous vous présentons ici comment ajouter une période spécifique à une date à l’aide de la fonction DATEADD, couramment utilisée dans les bases de données telles que SQL Server.
-- Syntaxe de base de la fonction DATEADD
DATEADD(unité, valeur, date_de_base)
Exemple de fonction DATEADD
Dans l’exemple suivant, 10 jours sont ajoutés au 1er janvier 2024.
SELECT DATEADD(DAY, 10, '2024-01-01') AS résultat_ajout;
Le résultat sera le 11 janvier 2024.
Ajout de dates avec INTERVAL
Voici comment ajouter des dates à l’aide d’INTERVAL, utilisé dans MySQL, par exemple.
-- Ajout de dates avec INTERVAL
SELECT '2024-01-01' + INTERVAL 10 DAY AS résultat_ajout;
Ce résultat sera également le 11 janvier 2024.
Comprendre ces syntaxes de base facilitera la manipulation des dates. Ensuite, nous expliquerons la soustraction des dates.
Syntaxe de base pour la soustraction de dates en SQL
En SQL, il est souvent nécessaire de soustraire des jours ou des mois d’une date. Voici comment utiliser les fonctions et les syntaxes standard pour soustraire des dates.
Soustraction de dates avec la fonction DATEADD
Dans les bases de données telles que SQL Server, vous pouvez utiliser la fonction DATEADD pour soustraire une période spécifique d’une date. Pour soustraire, spécifiez une valeur négative.
-- Soustraction de dates avec la fonction DATEADD
DATEADD(unité, valeur, date_de_base)
Exemple de fonction DATEADD
Dans l’exemple suivant, 10 jours sont soustraits du 10 janvier 2024.
SELECT DATEADD(DAY, -10, '2024-01-10') AS résultat_soustraction;
Le résultat sera le 31 décembre 2023.
Soustraction de dates avec INTERVAL
Dans les bases de données telles que MySQL, vous pouvez utiliser INTERVAL pour soustraire une période spécifique d’une date.
-- Soustraction de dates avec INTERVAL
SELECT '2024-01-10' - INTERVAL 10 DAY AS résultat_soustraction;
Ce résultat sera également le 31 décembre 2023.
Comme pour l’ajout de dates, la soustraction est facile à réaliser. Ensuite, nous expliquerons en détail comment utiliser la fonction DATEADD.
Comment utiliser la fonction DATEADD
La fonction DATEADD est très utile pour manipuler des dates dans des bases de données telles que SQL Server. Vous pouvez ajouter ou soustraire des jours, des mois, des années, etc., à une date spécifique.
Syntaxe de la fonction DATEADD
La syntaxe de base de la fonction DATEADD est la suivante.
DATEADD(unité, valeur, date_de_base)
- unité : L’unité de temps à ajouter ou à soustraire. Par exemple,
DAY
,MONTH
,YEAR
, etc. - valeur : La quantité à ajouter ou à soustraire. Une valeur positive pour ajouter, et une valeur négative pour soustraire.
- date_de_base : La date de référence à partir de laquelle l’opération sera effectuée.
Exemples concrets de la fonction DATEADD
Ajout de jours
Dans l’exemple suivant, 30 jours sont ajoutés au 1er janvier 2024.
SELECT DATEADD(DAY, 30, '2024-01-01') AS résultat_ajout;
Le résultat sera le 31 janvier 2024.
Ajout de mois
Dans l’exemple suivant, 3 mois sont ajoutés au 1er janvier 2024.
SELECT DATEADD(MONTH, 3, '2024-01-01') AS résultat_ajout;
Le résultat sera le 1er avril 2024.
Ajout d’années
Dans l’exemple suivant, 5 ans sont ajoutés au 1er janvier 2024.
SELECT DATEADD(YEAR, 5, '2024-01-01') AS résultat_ajout;
Le résultat sera le 1er janvier 2029.
Exemples avancés de la fonction DATEADD
Obtenir la fin du mois précédent
La requête suivante permet d’obtenir la fin du mois précédent à partir d’une date spécifique.
SELECT DATEADD(MONTH, -1, DATEADD(DAY, -DAY('2024-02-15'), '2024-02-15')) AS fin_du_mois_précédent;
Le résultat sera le 31 janvier 2024.
En utilisant la fonction DATEADD, il est facile d’effectuer des opérations complexes sur les dates. Ensuite, nous expliquerons comment calculer les différences de dates à l’aide de la fonction DATEDIFF.
Calcul des différences de dates avec la fonction DATEDIFF
La fonction DATEDIFF est utilisée pour calculer la différence entre deux dates dans des bases de données telles que SQL Server. Vous pouvez calculer la différence en jours, mois, années, etc.
Syntaxe de la fonction DATEDIFF
La syntaxe de base de la fonction DATEDIFF est la suivante.
DATEDIFF(unité, date_début, date_fin)
- unité : L’unité de temps pour laquelle la différence sera calculée. Par exemple,
DAY
,MONTH
,YEAR
, etc. - date_début : La date de début pour le calcul.
- date_fin : La date de fin pour le calcul.
Exemples concrets de la fonction DATEDIFF
Calculer la différence en jours
Dans l’exemple suivant, nous calculons la différence en jours entre le 1er janvier 2024 et le 31 janvier 2024.
SELECT DATEDIFF(DAY, '2024-01-01', '2024-01-31') AS différence_en_jours;
Le résultat sera de 30 jours.
Calculer la différence en mois
Dans l’exemple suivant, nous calculons la différence en mois entre le 1er janvier 2024 et le 1er avril 2024.
SELECT DATEDIFF(MONTH, '2024-01-01', '2024-04-01') AS différence_en_mois;
Le résultat sera de 3 mois.
Calculer la différence en années
Dans l’exemple suivant, nous calculons la différence en années entre le 1er janvier 2020 et le 1er janvier 2024.
SELECT DATEDIFF(YEAR, '2020-01-01', '2024-01-01') AS différence_en_années;
Le résultat sera de 4 ans.
Exemples avancés de la fonction DATEDIFF
Calculer l’âge à partir d’une date de naissance
La requête suivante calcule l’âge actuel à partir d’une date de naissance donnée.
SELECT DATEDIFF(YEAR, '1990-05-15', GETDATE()) AS âge;
La fonction GETDATE() renvoie la date actuelle. Cet exemple calcule l’âge d’une personne née le 15 mai 1990.
En utilisant la fonction DATEDIFF, il est facile de calculer la différence entre deux dates. Ensuite, nous présenterons quelques exemples pratiques de manipulation de dates.
Exemples pratiques de manipulation de dates
Dans le cadre professionnel, la manipulation de dates est nécessaire dans divers scénarios. Voici quelques exemples pratiques de manipulation de dates.
Exemple 1 : Obtenir le premier jour du mois suivant
Voici comment obtenir le premier jour du mois suivant à partir d’une date spécifique.
SELECT DATEADD(MONTH, 1, DATEADD(DAY, 1 - DAY('2024-01-15'), '2024-01-15')) AS premier_jour_du_mois_suivant;
Le résultat sera le 1er février 2024.
Exemple 2 : Obtenir la date d’il y a un an à partir de la date actuelle
Voici comment calculer la date d’il y a un an à partir de la date actuelle.
SELECT DATEADD(YEAR, -1, GETDATE()) AS date_d'il_y_a_un_an;
La fonction GETDATE() renvoie la date actuelle, et une année est soustraite de celle-ci.
Exemple 3 : Extraire des données appartenant à une période spécifique
Voici comment extraire des données appartenant à une période spécifique entre une date de début et une date de fin.
SELECT *
FROM table_de_données
WHERE colonne_date BETWEEN '2024-01-01' AND '2024-12-31';
Cette requête extrait les données qui appartiennent aux dates du 1er janvier 2024 au 31 décembre 2024.
Exemple 4 : Calculer le temps de traitement moyen
Voici comment calculer le temps de traitement moyen à partir des dates de début et de fin de plusieurs processus.
SELECT AVG(DATEDIFF(DAY, date_début, date_fin)) AS temps_de_traitement_moyen
FROM table_des_processus;
Cette requête calcule la différence en jours entre les dates de début et de fin et en obtient la moyenne.
Exemple 5 : Obtenir le jour de la semaine
Voici comment obtenir le jour de la semaine d’une date spécifique.
SELECT DATENAME(WEEKDAY, '2024-01-01') AS jour_de_la_semaine;
Ce résultat renvoie le jour de la semaine pour le 1er janvier 2024 (ex : Lundi).
En comprenant ces exemples pratiques, vous pouvez approfondir votre compréhension de la manipulation des dates et acquérir des compétences que vous pouvez appliquer dans des scénarios professionnels réels. Ensuite, nous expliquerons comment calculer la fin de mois.
Exemple avancé : Calcul de la fin du mois
Dans les affaires, il y a souvent des situations où il est nécessaire de calculer la fin du mois. Voici comment obtenir la date de fin de mois en SQL.
Comment obtenir la fin du mois
Pour obtenir la fin du mois, une méthode courante consiste à soustraire un jour au premier jour du mois suivant.
Exemple avec SQL Server
Dans SQL Server, vous pouvez utiliser les fonctions DATEADD et EOMONTH pour obtenir la fin du mois.
-- Obtenir la fin du mois en utilisant la fonction EOMONTH
SELECT EOMONTH('2024-01-15') AS fin_du_mois;
Le résultat sera le 31 janvier 2024.
Exemple avec MySQL
Dans MySQL, vous pouvez utiliser la fonction LAST_DAY pour obtenir la fin du mois.
-- Obtenir la fin du mois en utilisant la fonction LAST_DAY
SELECT LAST_DAY('2024-01-15') AS fin_du_mois;
Ce résultat sera également le 31 janvier 2024.
Une autre méthode de calcul de la fin du mois
Une autre méthode pour calculer la fin du mois consiste à combiner les fonctions DATEADD et DAY.
Une autre méthode de calcul dans SQL Server
Dans l’exemple suivant, la fin du mois est calculée en soustrayant un jour au premier jour du mois suivant.
-- Calcul de la fin du mois en utilisant les fonctions DATEADD et DAY
SELECT DATEADD(DAY, -DAY(DATEADD(MONTH, 1, '2024-01-15')), DATEADD(MONTH, 1, '2024-01-15')) AS fin_du_mois;
Ce résultat sera également le 31 janvier 2024.
Exemples d’application pour la fin du mois
Calcul de la date de clôture de facturation
Pour définir la date de clôture d’une facture à la fin du mois, procédez comme suit.
-- Définir la date de clôture de facturation à la fin du mois
SELECT LAST_DAY('2024-01-15') AS date_de_clôture;
Cela vous permet d’obtenir la fin du mois à partir de la date du mois spécifiée comme date de clôture.
En utilisant ces méthodes, le calcul de la fin du mois devient plus facile dans le cadre des affaires. Ensuite, approfondissons notre compréhension par le biais d’exercices sur l’ajout et la soustraction de dates.
Exercices
Approfondissons notre compréhension avec des exercices sur l’ajout et la soustraction de dates. Résolvez les problèmes ci-dessous et utilisez SQL pour vérifier vos réponses.
Problème 1 : Ajout de dates
Créez une requête SQL qui ajoute 15 jours à une date spécifique.
-- Requête pour le problème 1
SELECT DATEADD(DAY, 15, '2024-06-01') AS résultat_ajout;
Quel sera le résultat de cette requête ?
Problème 2 : Soustraction de dates
Créez une requête SQL qui soustrait 30 jours d’une date spécifique.
-- Requête pour le problème 2
SELECT DATEADD(DAY, -30, '2024-06-01') AS résultat_soustraction;
Quel sera le résultat de cette requête ?
Problème 3 : Calculer la différence de dates
Créez une requête SQL qui calcule la différence en jours entre le 1er janvier 2024 et le 31 décembre 2024.
-- Requête pour le problème 3
SELECT DATEDIFF(DAY, '2024-01-01', '2024-12-31') AS différence_en_jours;
Quel sera le nombre de jours pour cette requête ?
Problème 4 : Obtenir le premier jour du mois suivant
Créez une requête SQL qui obtient le premier jour du mois suivant à partir d’une date spécifique.
-- Requête pour le problème 4
SELECT DATEADD(MONTH, 1, DATEADD(DAY, 1 - DAY('2024-06-15'), '2024-06-15')) AS premier_jour_du_mois_suivant;
Quel sera le résultat de cette requête ?
Problème 5 : Obtenir la fin du mois
Créez une requête SQL qui obtient la fin du mois pour le 15 juillet 2024.
-- Requête pour le problème 5
SELECT LAST_DAY('2024-07-15') AS fin_du_mois;
Quel sera le résultat de cette requête ?
Problème 6 : Calculer l’âge
Créez une requête SQL qui calcule l’âge actuel d’une personne née le 15 mai 1990.
-- Requête pour le problème 6
SELECT DATEDIFF(YEAR, '1990-05-15', GETDATE()) AS âge;
Quel sera l’âge pour cette requête ?
En résolvant ces problèmes, vous approfondirez votre compréhension de la manipulation des dates en SQL. Ensuite, nous résumerons brièvement les points clés sur la manière d’ajouter et de soustraire des dates en SQL.
Résumé
Voici les points clés à retenir sur la manière d’ajouter et de soustraire des dates en SQL.
Compréhension de la syntaxe de base
Comprendre la syntaxe de base des fonctions DATEADD et INTERVAL pour l’ajout et la soustraction de dates facilite la manipulation des dates.
Utilisation de la fonction DATEADD
En utilisant la fonction DATEADD, vous pouvez ajouter ou soustraire des jours, des mois et des années de manière flexible à une date spécifique. La spécification d’une valeur négative permet également de soustraire.
Calcul de la différence de dates avec la fonction DATEDIFF
En utilisant la fonction DATEDIFF, vous pouvez facilement calculer la différence entre deux dates. Elle est utile dans de nombreux contextes, comme le calcul de l’âge ou du temps de traitement.
Applications pratiques
Obtenir le premier jour du mois suivant, la fin du mois, extraire des données d’une période spécifique, etc., vous permet de manipuler des dates de manière fluide dans des applications professionnelles.
Pratique avec des exercices
En résolvant des exercices, vous pouvez essayer des manipulations de dates en SQL et approfondir votre compréhension.
En utilisant ces connaissances et compétences, vous pouvez améliorer l’efficacité de la manipulation des bases de données. En vous familiarisant avec la manipulation des dates en SQL, vous pouvez élargir vos capacités de gestion et d’analyse des données.