Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

Fonction MySQL EXTRACT()

La fonction `EXTRACT()` de MySQL est utilisée pour récupérer une partie spécifique d'une valeur de date ou d'heure. Il permet d'extraire facilement des composants tels que l'année, le mois, le jour, l'heure, etc. à partir d'expressions de date ou d'heure. Il fait partie de la norme SQL, ce qui le rend applicable à différents systèmes SQL.

Utilisation

La fonction `EXTRACT()` est généralement utilisée lorsque vous devez isoler un segment particulier d'une date ou d'une heure à des fins de filtrage, de calcul ou d'affichage. Il simplifie le processus de décomposition des valeurs complexes de date et de temps en leurs composants individuels.

EXTRACT(unit FROM date)

Dans cette syntaxe, `unit` spécifie la partie de la date ou de l'heure à extraire (par exemple, `YEAR`, `MONTH`, `DAY`, `HOUR`, `MINUTE`, `SECOND`, `QUARTER`, `WEEK`, `DAYOFYEAR`), et `date` est l'expression de la date ou de l'heure à partir de laquelle l'extraction doit être effectuée.

Exemples

1. Extraction de l'année

SELECT EXTRACT(YEAR FROM '2023-10-15') AS year;

Cet exemple extrait l'année (`2023`) de la date donnée, ce qui peut être utile dans des scénarios tels que la génération de rapports annuels.

2. Extraction du mois

SELECT EXTRACT(MONTH FROM order_date) AS order_month
FROM orders;

Ici, le mois est extrait de la colonne `order_date` du tableau `orders`, ce qui permet une analyse mensuelle des commandes et des tendances.

3. Extraire le jour d'un horodatage

SELECT EXTRACT(DAY FROM '2023-10-15 14:35:29') AS day;

Cet exemple extrait le jour (`15`) d'un horodatage complet, démontrant comment séparer les composants de date des formats de date-heure mixtes pour une analyse quotidienne détaillée.

Conseils et bonnes pratiques

  • Choisissez l'unité correcte. Assurez-vous que l'"unité" que vous spécifiez (par exemple, `YEAR`, `MONTH`) correspond au composant dont vous avez besoin pour obtenir des résultats précis.
  • Utilisation pour le filtrage. Combinez `EXTRACT()` avec des clauses `WHERE` pour filtrer des données basées sur des composants de date spécifiques.
  • Optimisez les requêtes. Utilisez `EXTRACT()` sur les colonnes indexées pour de meilleures performances.
  • Tenez compte des fuseaux horaires. Tenez compte des différences de fuseaux horaires lorsque vous extrayez des composants à partir de valeurs d'horodatage afin de garantir la cohérence.
  • Traitement des dates non valides. Faites attention aux entrées de date ou d'heure invalides, car `EXTRACT()` peut renvoyer un NULL ou provoquer une erreur, ce qui a un impact sur les résultats de la requête.

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez à apprendre gratuitement