DATETIME_TRUNC |
Tronque la date et heure |
|---|---|
| BigQuery | |
Syntaxe
| DATETIME_TRUNC(datetime_expression, part) |
Paramètres
| Nom | Description |
|---|---|
| datetime_expression | Ce paramètre permet de spécifier l'expression de type DATETIME que vous souhaitez tronquer. |
| part | Ce paramètre permet de spécifier la granularité à laquelle l'datetime_expression doit être tronquée. Toutes les unités de temps inférieures à cette partie seront mises à zéro (ou à leur valeur de début de période). Les parties de temps valides incluent MICROSECOND, MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, WEEK(<WEEKDAY>), MONTH, QUARTER, YEAR. Par exemple, si part est MONTH, la date et l'heure seront tronquées au début du mois. Si part est DAY, l'heure sera mise à 00:00:00. |
Description
Cette fonction permet d'arrondir une date et heure selon la partie de précision spécifié.
Remarques
- Permet de "réinitialiser" les composantes inférieures d'une date : DATETIME_TRUNC est très utile pour normaliser des dates à un niveau de précision donné. Par exemple, si l'on tronque à la journée, les heures, minutes et secondes seront mises à zéro, ce qui facilite les comparaisons temporelles.
- Fonction idéale pour le regroupement par périodes : Elle est fréquemment utilisée dans les analyses temporelles pour regrouper les données par jour, semaine, mois ou trimestre. Cela permet d'agréger les résultats dans des fenêtres temporelles homogènes, par exemple pour construire des histogrammes ou des tableaux de bord temporels.
- Offre une grande flexibilité grâce aux nombreuses valeurs de part : Le paramètre part peut représenter des unités très fines (comme la microseconde) ou très larges (comme l'année). Cette granularité permet une adaptation précise aux besoins métiers : de la mesure d'événements en temps réel à l'analyse annuelle.
- Gestion spécifique des semaines avec WEEK(<WEEKDAY>) : Une fonctionnalité avancée permet de définir un jour de début de semaine personnalisé, comme WEEK(MONDAY) ou WEEK(SUNDAY). Cela est particulièrement utile dans des contextes internationaux où le début de la semaine varie selon les conventions locales.
- Différente d'un simple arrondi classique : il s'agit bien d'un "tronquage" : Contrairement à un arrondi qui pourrait rapprocher d'une valeur supérieure ou inférieure, le tronquage effectué par DATETIME_TRUNC ramène toujours la date à la première valeur de la période choisie, ce qui est plus prévisible pour l'analyse.
- Fonction sans effet sur les unités supérieures à part : Lorsque l'on tronque une date à une unité donnée (par exemple, MONTH), toutes les unités supérieures comme l'année restent inchangées. Cela permet de conserver le contexte temporel tout en simplifiant la composante inférieure de la date.
- Compatible uniquement avec le type DATETIME (pas TIMESTAMP directement) : Cette fonction est conçue pour manipuler des dates sans considération de fuseau horaire. Si l'on travaille avec des TIMESTAMP, il faut souvent les convertir au préalable avec DATETIME(TIMESTAMP) pour appliquer DATETIME_TRUNC.
- Améliore la lisibilité et la cohérence des résultats dans les visualisations : En uniformisant les dates à une granularité choisie, cette fonction garantit que tous les événements d'un même jour, mois ou année auront la même valeur tronquée. Cela simplifie énormément les regroupements dans des outils de visualisation ou de reporting.
Dernière mise à jour : Jeudi, le 18 Juin 2020