logo oujood
🔍

OUJOOD.COM

SQL - Travailler avec des dates: Introduction

Les dates et les heures sont des données importantes dans de nombreuses applications. Le langage SQL offre de nombreuses fonctionnalités pour travailler avec ces données, notamment pour les insérer, les mettre à jour, les supprimer et les extraire.

Dans ce tutoriel, nous allons apprendre à travailler avec les dates et les heures en SQL. Nous couvrirons les sujets suivants :

  • Définition et utilisation des dates et des heures en SQL
  • Syntaxe des fonctions de date et d'heure
  • Exemples pratiques d'utilisation des fonctions de date et d'heure
  • Astuces et conseils d'utilisation des fonctions de date et d'heure

Définition et utilisation des dates et des heures en SQL

Types de données de date SQL

MySQL propose les types de données suivants pour stocker une date ou une valeur date/heure dans la base de données :

  • DATE - format AAAA-MM-JJ
  • DATETIME - format : AAAA-MM-JJ HH:MI:SS
  • TIMESTAMP - format : AAAA-MM-JJ HH:MI:SS
  • YEAR - format : YYYY ou YY

SQL Server dispose des types de données suivants pour stocker une date ou une valeur date/heure dans la base de données :

  • DATE - format AAAA-MM-JJ
  • DATETIME - format : AAAA-MM-JJ HH:MI:SS
  • SMALLDATETIME - format : AAAA-MM-JJ HH:MI:SS
  • TIMESTAMP - format : un nombre unique
  • Remarque : les types de date sont choisis pour une colonne lorsque vous créez une nouvelle table dans votre base de données !.

    Pour insérer une date ou une heure, nous utilisons la clause VALUES. Par exemple, pour insérer une date dans une table, nous pouvons utiliser la requête suivante :

     
    INSERT INTO ma_table (date)
    VALUES ('2023-09-21');
    

    Pour mettre à jour une date ou une heure, nous utilisons la clause SET. Par exemple, pour mettre à jour la date dans une table, nous pouvons utiliser la requête suivante :

    Exemple :     📋 Copier le code

    UPDATE ma_table
    SET date = '2023-10-01';
    

    Pour supprimer une date ou une heure, nous utilisons la clause DELETE. Par exemple, pour supprimer la ligne avec la date 2023-09-21 dans une table, nous pouvons utiliser la requête suivante :

    Exemple :     📋 Copier le code

    DELETE FROM ma_table
    WHERE date = '2023-09-21';
    

    Syntaxe des fonctions de date et d'heure

    SQL propose de nombreuses fonctions pour travailler avec les dates et les heures. Ces fonctions permettent de manipuler les dates et les heures, de les formater, de les comparer, etc.

    Voici quelques exemples de fonctions de date et d'heure :

    • NOW() : renvoie la date et l'heure actuelle
    • CURDATE() : renvoie la date actuelle
    • CURTIME() : renvoie l'heure actuelle
    • DATE() : convertit une chaîne de caractères en date
    • TIME() : convertit une chaîne de caractères en heure
    • ADDDATE() : ajoute un nombre de jours, de semaines, de mois ou d'années à une date
    • SUBDATE() : soustrait un nombre de jours, de semaines, de mois ou d'années à une date
    • DATEDIFF() : calcule la différence entre deux dates
    • DAY() : renvoie le jour d'une date
    • MONTH() : renvoie le mois d'une date
    • YEAR() : renvoie l'année d'une date

    Exemples pratiques d'utilisation des fonctions de date et d'heure

    Voici quelques exemples pratiques d'utilisation des fonctions de date et d'heure :

    Récupérer la date actuelle

    Exemple :     📋 Copier le code

    SELECT NOW();
    

    Récupérer le mois actuel

    Exemple :     📋 Copier le code

    SELECT MONTH(NOW());
    

    Récupérer la différence entre deux dates

    Exemple :     📋 Copier le code

    SELECT DATEDIFF(NOW(), '2023-09-21');
    

    Formater une date

    Exemple :     📋 Copier le code

    SELECT DATE_FORMAT(NOW(), '%d/%m/%Y');
    

    Comparaisons de dates

    Exemple :     📋 Copier le code

    SELECT *
    FROM ma_table
    WHERE date > '2023-09-21';
    

    Astuces et conseils d'utilisation des fonctions de date et d'heure

    • Choisissez le type de données approprié
    • Le type de données DATE est suffisant pour la plupart des applications, mais le type DATETIME est nécessaire si vous devez stocker l'heure.

    • Manipulez les dates et les heures de manière complexe
    • Les fonctions de date et d'heure peuvent être utilisées pour manipuler les dates et les heures de manière complexe. Par exemple, vous pouvez utiliser la fonction ADDDATE() pour ajouter un nombre de jours à une date, ou la fonction DATEDIFF() pour calculer la différence entre deux dates.

    • Formatez les dates et les heures
    • La fonction DATE_FORMAT() permet de formater les dates et les heures dans le format souhaité.

    • Comparez les dates et les heures
    • Les opérateurs de comparaison standard peuvent être utilisés pour comparer les dates et les heures.

    Exemples pratiques

    Récupérer la date actuelle

    Exemple :     📋 Copier le code

    SELECT NOW();
    

    Cette requête renvoie la date et l'heure actuelle au format YYYY-MM-DD HH:MM:SS.

    Récupérer le mois actuel

    Exemple :     📋 Copier le code

    SELECT MONTH(NOW());
    

    Cette requête renvoie le mois actuel au format 1 à 12.

    Récupérer la différence entre deux dates

    Exemple :     📋 Copier le code

    SELECT DATEDIFF(NOW(), '2023-09-21');
    

    Cette requête renvoie le nombre de jours qui séparent la date actuelle de la date 2023-09-21.

    Formater une date

    Exemple :     📋 Copier le code

    SELECT DATE_FORMAT(NOW(), '%d/%m/%Y');
    

    Cette requête renvoie la date actuelle au format jj/mm/aaaa.

    Comparaisons de dates

    Exemple :     📋 Copier le code

    SELECT *
    FROM ma_table
    WHERE date > '2023-09-21';
    

    Cette requête renvoie toutes les lignes de la table ma_table dont la date est supérieure à la date 2023-09-21.

    Conclusion

    SQL offre de nombreuses fonctionnalités pour travailler avec les dates et les heures. En maîtrisant ces fonctionnalités, vous pourrez manipuler les dates et les heures de manière efficace dans vos applications.