DATETIME_DIFF |
Date et heure différent |
|---|---|
| BigQuery | |
Syntaxe
| DATETIME_DIFF(datetime_expression, datetime_expression, part) |
Paramètres
| Nom | Description |
|---|---|
| datetime_expression_1 | Ce paramètre permet de spécifier la première expression de type DATETIME (la date et l'heure la plus récente) pour laquelle la différence doit être calculée. |
| datetime_expression_2 | Ce paramètre permet de spécifier la deuxième expression de type DATETIME (la date et l'heure la plus ancienne) par rapport à laquelle la différence doit être calculée. |
| part | Ce paramètre permet de spécifier l'unité de temps dans laquelle la différence doit être retournée (par exemple, HOUR, DAY, MONTH, YEAR). Les parties de temps valides incluent MICROSECOND, MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR. La fonction calcule le nombre entier de ces unités entre les deux dates et heures. |
Description
Cette fonction permet de demander la différence entre 2 dates et heures selon l'intervalle de temps spécifié.
Remarques
- Calcule la différence entre deux valeurs DATETIME en unités entières : La fonction DATETIME_DIFF retourne un entier représentant la différence entre deux dates-heures selon l'unité spécifiée (par exemple, jours ou heures). Cela signifie qu'elle ne renvoie pas de fractions, mais le nombre complet d'unités écoulées entre les deux instants, ce qui est utile pour des calculs précis et lisibles.
- La précision de la différence dépend de l'unité de temps choisie : Selon la valeur du paramètre part (par exemple, SECOND, MINUTE, HOUR), la fonction mesure la différence à ce niveau de granularité. Cela permet d'adapter la comparaison aux besoins métier, par exemple pour des durées très courtes (millisecondes) ou plus longues (mois ou années).
- L'ordre des paramètres influe sur le résultat, il peut être négatif : La fonction calcule datetime_expression_1 - datetime_expression_2, ce qui peut produire un résultat positif ou négatif selon l'ordre chronologique des dates. Cette caractéristique est importante à prendre en compte pour éviter les erreurs lors d'analyses temporelles.
- Indépendante des fuseaux horaires, elle opère sur des DATETIME sans timezone : Comme DATETIME n'inclut pas d'information de fuseau horaire, la différence est purement civile. Cela peut limiter son usage dans des contextes où des conversions de fuseaux horaires sont nécessaires, mais simplifie les calculs pour des horaires locaux fixes.
- Peut être utilisée pour calculer la durée entre événements dans les données : Cette fonction est très pratique pour déterminer des intervalles de temps entre deux événements, comme le temps écoulé entre une commande et sa livraison, ou le délai entre deux actions dans un flux de travaux, facilitant ainsi les analyses opérationnelles.
- Supporte une large gamme d'unités temporelles pour des calculs variés : La fonction accepte des unités allant de la microseconde à l'année, ce qui la rend adaptée à des contextes très différents : mesures de performance, analyses de cycle de vie, ou calculs financiers sur des périodes longues.
- Renvoie un entier, ce qui nécessite parfois une conversion pour des calculs plus précis : Comme la fonction ne fournit pas de valeur décimale, pour obtenir une différence en fractions d'unités (par exemple, 1,5 jours), il faudra combiner DATETIME_DIFF avec d'autres calculs ou fonctions, ce qui est important à anticiper selon les besoins.
- Peut être intégrée dans des requêtes conditionnelles pour filtrer des plages temporelles : Elle est souvent utilisée dans des clauses WHERE ou HAVING pour sélectionner des données selon la durée écoulée, par exemple, filtrer les utilisateurs actifs depuis moins de 30 jours ou détecter des anomalies temporelles dans des séries.
Dernière mise à jour : Jeudi, le 18 Juin 2020