TIME_DIFF |
Différence de temps |
| BigQuery |
Syntaxe
|
TIME_DIFF(time_expression1, time_expression2, part)
|
Paramètres
| Nom |
Description |
| time_expression1 |
Ce paramètre permet de spécifier la première expression de type TIME (heure) à utiliser pour le calcul de la différence. C'est l'heure de début ou l'heure la plus récente dans votre comparaison. |
| time_expression2 |
Ce paramètre permet de spécifier la deuxième expression de type TIME (heure) à utiliser pour le calcul de la différence. C'est l'heure de fin ou l'heure la plus ancienne dans votre comparaison. |
| part |
Ce paramètre permet de spécifier l'unité de temps dans laquelle vous voulez que la différence soit exprimée (par exemple, MICROSECOND, MILLISECOND, SECOND, MINUTE, HOUR). La fonction retourne un nombre entier (INT64) représentant la différence entre les deux heures dans l'unité spécifiée. Le résultat peut être négatif si la première time_expression est antérieure à la seconde. |
Description
Cette fonction permet de demander la différence entre 2 heures selon l'intervalle de temps spécifié.
Remarques
- Permet de mesurer un écart temporel précis entre deux heures : La fonction TIME_DIFF est utile pour connaître la durée entre deux instants dans la même
journée. Elle est idéale pour calculer des temps de traitement, des durées de session ou des écarts horaires entre deux événements.
- Le résultat peut être négatif : Si la première heure (time_expression1) est plus tôt que la deuxième (time_expression2), la fonction retourne un nombre
négatif. Cela permet de détecter facilement si un événement est antérieur à un autre.
- Les unités doivent être spécifiées avec précision : Le paramètre part exige une unité explicite comme SECOND, MINUTE, ou HOUR. Cela donne la flexibilité
de mesurer un même écart avec différentes granularités (exemple 120 secondes ou 2 minutes).
- Ne prend pas en charge le dépassement de jour : La fonction compare deux heures indépendamment de la date. Cela signifie que TIME_DIFF("01:00:00",
"23:00:00", HOUR) renverra -22, sans comprendre que "01:00" pourrait être du lendemain. Il faut gérer cela manuellement si l'on veut un comportement cyclique.
- Fonctionne uniquement avec des types TIME : Elle ne s'applique pas aux types DATETIME ou TIMESTAMP. Une conversion préalable est nécessaire si on souhaite
comparer des heures extraites de types plus complexes.
- Peut être utilisée pour valider des contraintes temporelles : On peut s'en servir dans des requêtes de validation (ex. refuser les réservations de moins de
30 minutes) ou d'analyse (ex. déterminer quelles durées dépassent un seuil prédéfini).
- Particulièrement utile dans les bases horaires ou logicielles : Dans les systèmes de gestion d'horaires (exemple transports, ressources humaines), TIME_DIFF
permet de mesurer des intervalles critiques sans se soucier des aspects calendaires (jours, mois, années).
- Résultat toujours en entier (INT64) : Le résultat est tronqué à l'unité sans décimale, ce qui veut dire que toute fraction d'unité inférieure est ignorée.
Par exemple, une différence de 1 minute et 59 secondes renvoyée en MINUTE sera simplement 1.
Dernière mise à jour : Jeudi, le 18 Juin 2020