TIME_ADD |
Ajout de temps |
|---|---|
| BigQuery | |
Syntaxe
| TIME_ADD(time_expression, INTERVAL INT64_expr part) |
Paramètres
| Nom | Description |
|---|---|
| time_expression | Ce paramètre permet de spécifier l'expression de type TIME (heure) à laquelle vous voulez ajouter une durée. C'est le point de départ du calcul. |
| INTERVAL INT64_expr part | Ce paramètre permet de définir la quantité de temps à ajouter à l'heure spécifiée. Il est composé de trois éléments : INTERVAL : Un mot-clé obligatoire signalant que vous définissez un intervalle de temps. INT64_expr : Ce paramètre permet de spécifier la valeur numérique entière représentant le nombre d'unités de temps à ajouter (par exemple, 30 pour 30 minutes, 2 pour 2 heures). <br> - part : Ce paramètre permet de spécifier l'unité de temps que vous ajoutez (par exemple, MICROSECOND, MILLISECOND, SECOND, MINUTE, HOUR). La fonction retourne une nouvelle valeur de type TIME après l'ajout de l'intervalle. Gardez à l'esprit que le type TIME ne représente qu'une heure de la journée, donc l'ajout d'unités de temps qui dépasseraient 24 heures (comme les jours ou les semaines) n'est pas pris en charge. |
Description
Cette fonction permet d'ajouter une quantité de temps à une expression d'heure existante.
Remarques
- Utilisée pour ajuster des heures dans la journée : TIME_ADD est conçue pour manipuler des données de type TIME, c'est-à-dire des heures sans date associée. Elle permet d'ajouter des secondes, minutes ou heures à une heure donnée, ce qui est utile pour calculer des horaires, des délais ou des périodes fixes dans une même journée.
- Fonction limitée à 24 heures : Comme TIME ne représente qu'une portion d'une journée (de 00:00:00 à 23:59:59.999999), il est impossible d'ajouter des jours ou des semaines avec cette fonction. Toute tentative d'ajout au-delà de 24 heures entraînera une erreur ou un comportement inattendu.
- Ne supporte pas de dépassement de jour : L'ajout d'un intervalle qui dépasse minuit ne fait pas basculer vers le lendemain. Par exemple, ajouter 2 heures à 23:00:00 renverra une erreur car le résultat sortirait du cadre d'une journée (TIME n'inclut pas la notion de date).
- Compatible avec les unités temporelles fines : La fonction prend en charge les unités fines comme les microsecondes ou millisecondes. Cela permet des ajustements très précis, utiles dans les systèmes où la granularité temporelle est critique (par exemple, systèmes financiers ou mesures en temps réel).
- Exige l'utilisation explicite du mot-clé INTERVAL : Il est obligatoire d'utiliser le mot-clé INTERVAL dans la syntaxe. Par exemple : TIME_ADD("10:30:00", INTERVAL 15 MINUTE). Sans ce mot clef, la requête renverra une erreur de syntaxe.
- Retourne toujours un objet TIME : La valeur retournée est toujours de type TIME, ce qui la rend incompatible avec des champs de type DATETIME ou TIMESTAMP sans conversion. Cela garantit la cohérence dans les opérations strictement liées aux heures.
- Très utile dans les plannings ou horaires récurrents : La fonction est souvent utilisée pour générer des horaires à intervalle régulier (par exemple, toutes les 15 minutes à partir d'une heure de départ), ce qui est commun dans les systèmes de réservation, d'emploi du temps ou de transport.
- Fonctionne aussi avec des expressions dynamiques : Le paramètre INT64_expr peut être une valeur dynamique issue d'un champ, d'une variable ou d'une sous-requête. Cela permet d'ajuster les durées à ajouter en fonction du contexte (par exemple, ajouter un délai personnalisé selon l'utilisateur).
Dernière mise à jour : Jeudi, le 18 Juin 2020