Les dates en SQL

Introduction aux dates en SQL

Les dates en SQL prennent généralement la forme suivante :

  • DATE : YYYY-MM-DD
  • DATETIME : YYYY-MM-DD hh:mm:ss

Il existe de nombreuses fonctions de date en SQL qui permettent de reformater des données selon vos besoins. Notez toutefois que certaines fonctions peuvent varier en fonction du système de gestion de bases de données (SGBD) que vous utilisez.

Exemple de données

Imaginons que nous avons une table appelée bodega contenant les informations suivantes :

| order_id | item | price | quantity | order_date | |----------|-----------------|-------|----------|----------------------| | 1 | Donut | 2.49 | 2 | 2022-08-16 08:04:23 | | 2 | Cookie | 0.99 | 3 | 2022-08-16 09:43:00 | | 3 | Donut | 2.49 | 1 | 2022-08-16 11:25:12 | | 4 | Egg Sandwich | 7.99 | 1 | 2022-08-17 11:45:41 | | 5 | Ice Coffee | 3.99 | 2 | 2022-08-17 12:18:50 |

Extraire les heures d'une colonne de dates

Pour extraire uniquement l'heure de la colonne order_date, vous pouvez effectuer la requête suivante :

SELECT TIME(order_date) FROM bodega;

Le résultat de cette requête afficherait uniquement les heures :

| TIME(order_date) | |------------------| | 08:04:23 | | 09:43:00 | | 11:25:12 | | 11:45:41 | | 12:18:50 |

Fonctions de manipulation des dates

Voici quelques-unes des principales fonctions de gestion des dates en SQL :

  • DATE() : Convertit les timestamps en dates (format YYYY-MM-DD).
  • DATEADD() : Ajoute un intervalle de date/heure à une date spécifiée. Utilisé principalement dans SQL Server et MySQL.
  • DATEDIFF() : Calcule la différence entre deux valeurs de dates, disponible dans SQL Server et MySQL.
  • DATETIME() : Renvoie à la fois la date et l'heure (format YYYY-MM-DD hh:mm:ss).
  • DATE_TRUNC() : Tronque une date, une heure ou un timestamp à un intervalle spécifié (comme jour ou semaine). Disponible dans PostgreSQL et SQL Server.
  • STRFTIME() : Permet d'obtenir une date formatée.
  • TIME() : Convertit les timestamps en heures (format hh:mm:ss).