EXTRACT |
Extraire |
| BigQuery |
Syntaxe
|
EXTRACT(part FROM date_expression)
|
Paramètres
| Nom |
Description |
| part |
Ce paramètre permet de spécifier la partie de la date que vous souhaitez extraire (par exemple, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND). |
| date_expression |
Ce paramètre permet de fournir l'expression de date ou d'horodatage à partir de laquelle la partie spécifiée doit être extraite. |
Description
Cette fonction permet de demander une partie d'une date spécifié.
Remarques
- Permet d'isoler des composants spécifiques d'une date : La fonction EXTRACT() est conçue pour extraire une composante précise d'une date ou d'un
horodatage, comme l'année, le mois ou le jour. Elle facilite ainsi l'analyse temporelle sans avoir besoin de transformer l'ensemble du champ date.
- Pratique pour les regroupements temporels : En combinaison avec des clauses GROUP BY, EXTRACT() permet d'agréger des données selon des unités temporelles
personnalisées, comme le nombre de commandes par mois (EXTRACT(MONTH FROM order_date)), ce qui rend les requêtes plus lisibles et modulables.
- Fonctionne avec plusieurs types de données temporelles : La fonction est compatible avec les types DATE, DATETIME, TIMESTAMP, ce qui la rend flexible.
Toutefois, si un fuseau horaire est pertinent (par exemple avec TIMESTAMP), le résultat extrait tient compte de ce contexte.
- Supporte une grande variété de composantes temporelles : Outre les classiques YEAR, MONTH ou DAY, EXTRACT() accepte des composantes plus fins
comme HOUR, MINUTE, SECOND, mais aussi des unités plus rares comme QUARTER, WEEK, DAYOFWEEK, ISOWEEK, ISOYEAR,..., pour une analyse temporelle très granulaire.
- Attention aux résultats selon les conventions de calendrier : Certaines parties extraites comme WEEK, DAYOFWEEK ou ISOYEAR suivent des normes spécifiques
(calendrier ISO ou non), ce qui peut provoquer des résultats inattendus si les normes ne sont pas comprises ou alignées avec les besoins métier.
- Utile pour filtrer des plages temporelles spécifiques : Avec EXTRACT(), il devient facile d'extraire les données d'un mois précis ou d'un jour de la
semaine, par exemple en filtrant WHERE EXTRACT(DAYOFWEEK FROM date_col) = 1, ce qui facilite l'exploration de cycles ou de tendances.
- La syntaxe explicite améliore la lisibilité du SQL : Contrairement à certaines fonctions comme DATE_PART() ou FORMAT_TIMESTAMP(), la syntaxe
EXTRACT(part FROM date_expression) est plus déclarative et lisible, ce qui la rend populaire dans les scripts de transformation de données.
- Alternative simple aux fonctions de manipulation complexes : Au lieu de transformer une date avec FORMAT_DATE() ou de découper une chaîne via SUBSTR(),
EXTRACT() fournit un accès direct à la valeur désirée, ce qui limite les erreurs de conversion ou de format et réduit la complexité du code.
Dernière mise à jour : Jeudi, le 18 Juin 2020