DATE_TRUNC |
Tronque la date |
|---|---|
| BigQuery | |
Syntaxe
| DATE_TRUNC(date_expression, date_part) |
Paramètres
| Nom | Description |
|---|---|
| date_expression | Ce paramètre permet de spécifier l'expression de type DATE que vous souhaitez tronquer. |
| date_part | Ce paramètre permet de spécifier la granularité à laquelle la date_expression doit être tronquée. Toutes les unités de temps inférieures à cette partie seront mises à leur valeur de début de période. Les parties de temps valides incluent DAY, WEEK, WEEK(<WEEKDAY>), MONTH, QUARTER, YEAR. Par exemple, si date_part est MONTH, la date sera tronquée au premier jour du mois. |
Description
Cette fonction permet d'arrondir une date selon la partie de précision spécifié.
Remarques
- Fonction de simplification temporelle très utile : DATE_TRUNC permet de réduire une date à une granularité donnée, comme le début du mois, de l'année ou de la semaine. Cela simplifie considérablement l'agrégation ou la comparaison de dates sur des périodes normalisées, par exemple dans des rapports mensuels.
- Particulièrement utile dans les opérations de regroupement : En utilisant DATE_TRUNC(date, MONTH), toutes les dates du même mois auront une valeur commune (le 1er jour du mois), ce qui facilite les regroupements avec GROUP BY. Cela évite d'avoir à manipuler manuellement les chaînes de dates pour faire des regroupements temporels.
- La granularité est explicite et contrôlée : Le deuxième paramètre date_part permet de choisir précisément jusqu'où on souhaite tronquer la date. Cela offre une grande flexibilité, que ce soit pour des découpages journaliers (DAY), mensuels (MONTH), trimestriels (QUARTER),...
- Supporte le paramètre WEEK(<WEEKDAY>) pour personnaliser le début de la semaine : Contrairement à d'autres fonctions temporelles, DATE_TRUNC permet de définir quel jour commence la semaine (exemple WEEK(MONDAY)), ce qui est essentiel pour les utilisateurs travaillant dans des contextes où la semaine commence le dimanche ou le lundi, selon les normes locales.
- Met à zéro les parties de date non pertinentes : Lorsque la date est tronquée, toutes les composantes inférieures à date_part sont réinitialisées. Par exemple, DATE_TRUNC(DATE '2024-06-16', YEAR) renverra 2024-01-01. Cette standardisation est utile pour filtrer ou regrouper proprement.
- Très pratique pour les analyses temporelles glissantes : Dans les analyses comparatives comme les moyennes mobiles ou les comparaisons par période, DATE_TRUNC permet de ramener toutes les dates au début de leur unité temporelle. Cela facilite l'alignement temporel sans devoir créer des tables de calendrier supplémentaires.
- Fonction compatible avec des formats de date standards sans conversion préalable : Étant donné que la fonction accepte directement un champ ou une expression de type DATE, il n'est pas nécessaire de faire des transformations complexes de type CAST ou PARSE_DATE, ce qui rend son usage simple et lisible dans les requêtes.
- Peut être utilisée dans des clauses WHERE pour filtrer efficacement : En combinant DATE_TRUNC avec une clause WHERE, on peut facilement cibler toutes les dates d'un mois ou d'une année. Par exemple :
- WHERE DATE_TRUNC(date_column, MONTH) = '2024-06-01'
Cela permet d'identifier toutes les lignes d'un mois donné sans manipuler les bornes de date manuellement.
Dernière mise à jour : Jeudi, le 18 Juin 2020