TIME_TRUNC |
Tronque le temps |
|---|---|
| BigQuery | |
Syntaxe
| TIME_TRUNC(time_expression, part) |
Paramètres
| Nom | Description |
|---|---|
| time_expression | Ce paramètre permet de spécifier l'expression de type TIME (heure) que vous souhaitez tronquer. C'est l'heure originale qui sera ajustée. |
| part | Ce paramètre permet de spécifier l'unité de temps à laquelle l'heure doit être tronquée (par exemple, MICROSECOND, MILLISECOND, SECOND, MINUTE, HOUR). La fonction renverra une valeur de type TIME où toutes les unités de temps inférieures à la part spécifiée seront mises à zéro. Par exemple, si vous tronquez à la MINUTE, les secondes et les microsecondes seront mises à 00 et 000000 respectivement. |
Description
Cette fonction permet d'arrondir une heure selon la partie de précision spécifié.
Remarques
- Fonction d'arrondi vers le bas sur le temps : TIME_TRUNC permet d'arrondir une valeur de type TIME à une unité de temps spécifique. Contrairement à un arrondi classique, la fonction tronque (supprime) les composantes inférieures à l'unité sélectionnée, ce qui revient à "écraser" les détails plus fins.
- Idéal pour regrouper ou comparer des heures sur des unités fixes : La fonction est particulièrement utile pour regrouper des données temporelles par tranches d'heures ou de minutes, comme pour analyser le trafic réseau ou les appels téléphoniques par créneau horaire uniforme.
- Les unités inférieures sont remises à zéro : Lorsqu'on utilise TIME_TRUNC avec MINUTE, les secondes, millisecondes et microsecondes seront remises à zéro. Cela garantit une cohérence d'arrondi pour des comparaisons précises ou des agrégations.
- Fonction compatible avec le type TIME uniquement : TIME_TRUNC ne s'applique qu'aux expressions de type TIME, c'est-à-dire des heures sans référence à la date. Elle ne doit pas être confondue avec DATETIME_TRUNC ou TIMESTAMP_TRUNC, qui incluent les composantes calendaires.
- Comportement prédictible pour tous les niveaux de granularité : Que vous tronquiez à l'heure, à la minute ou même à la microseconde, la fonction suit une logique identique : remise à zéro des éléments plus petits que la granularité demandée. Cela évite toute ambiguïté sur le résultat attendu.
- Très utile dans les visualisations temporelles : Lorsque l'on crée des graphiques temporels (par heure, par minute...), l'utilisation de TIME_TRUNC permet de regrouper les données en tranches régulières, améliorant ainsi la lisibilité et la cohérence des résultats.
- Attention à l'absence de gestion des dépassements horaires : Si vous utilisez TIME_TRUNC sur une heure en fin de journée, comme 23:59:59.999999, et que vous tronquez à l'heure, la valeur deviendra 23:00:00.000000, mais elle ne basculera jamais au jour suivant. Le type TIME ignore la notion de date.
- Combinable avec d'autres fonctions temporelles : TIME_TRUNC peut être utilisé en combinaison avec TIME_ADD, TIME_DIFF ou des fonctions de type CASE pour normaliser des heures, appliquer des filtres par tranches ou simplifier des comparaisons temporelles dans des requêtes complexes.
Dernière mise à jour : Jeudi, le 18 Juin 2020