TIMESTAMP_ADD |
Ajout à l'horodatage |
|---|---|
| BigQuery | |
Syntaxe
| TIMESTAMP_ADD(timestamp_expression, INTERVAL int64_expression date_part) |
Paramètres
| Nom | Description |
|---|---|
| timestamp_expression | Ce paramètre permet de spécifier l'expression de type TIMESTAMP à laquelle vous souhaitez ajouter une durée. Il s'agit du point de départ pour le calcul. |
| INTERVAL int64_expression date_part | Ce paramètre permet de définir la durée à ajouter à l'timestamp_expression. Il se compose de trois parties : INTERVAL : Mot-clef obligatoire pour indiquer que vous spécifiez un intervalle. int64_expression : 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, 5, 100, -2). date_part : Ce paramètre permet de spécifier l'unité de temps à ajouter (par exemple, MICROSECOND, MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR). La fonction renvoie un nouveau TIMESTAMP après avoir ajouté l'intervalle spécifié. |
Description
Cette fonction permet d'ajouter une quantité de temps à un type de données TIMESTAMP.
Remarques
- Permet des calculs temporels flexibles et précis : La fonction TIMESTAMP_ADD permet d'ajouter un intervalle de temps à un horodatage. Elle est utile pour projeter des événements dans le futur ou pour décaler des dates dans des calculs temporels, par exemple ajouter 30 jours à une date d'inscription.
- Utilisation du mot-clef INTERVAL obligatoire : Le mot clef INTERVAL est requis pour que la fonction comprenne que vous ajoutez une durée. Omettre ce mot-clef entraîne une erreur de syntaxe. C'est une particularité importante à retenir pour éviter des erreurs courantes lors de l'écriture de requêtes.
- Supporte des unités variées de temps : La fonction accepte de nombreuses unités telles que SECOND, DAY, MONTH, YEAR,... Cela permet de travailler avec différents niveaux de granularité temporelle, allant du microseconde au siècle, ce qui est particulièrement utile pour des analyses temporelles étendues.
- Accepte les valeurs négatives : Le paramètre int64_expression peut être négatif, ce qui permet de soustraire du temps plutôt que d'en ajouter. Cela rend la fonction doublement utile, puisqu'elle peut servir à simuler TIMESTAMP_SUB avec une valeur négative.
- Retourne un nouveau TIMESTAMP sans modifier l'original : La fonction renvoie une nouvelle valeur TIMESTAMP, ce qui garantit que l'horodatage de départ (timestamp_expression) reste intact. Cette propriété est utile pour créer des colonnes dérivées sans altérer les données d'origine.
- Attention à l'ajout de mois ou d'années : Lorsque vous ajoutez des mois ou des années, la date résultante peut varier en fonction du nombre de jours dans le mois. Par exemple, ajouter un mois à "2024-01-31" renverra "2024-02-29" (année bissextile), ce qui peut entraîner des ajustements inattendus.
- Compatible avec les fonctions de fenêtre ou d'agrégation : On peut utiliser TIMESTAMP_ADD dans des expressions complexes, y compris avec des fonctions OVER, PARTITION BY, ou GROUP BY. Elle est souvent utilisée pour définir des périodes d'analyse glissantes ou créer des plages temporelles dynamiques.
- Particulièrement utile en génération de données futures ou rétrospectives : Cette fonction est indispensable pour planifier des échéances (exemple : abonnements, relances), simuler des décalages temporels, ou reconstruire des historiques temporels artificiels lors de tests ou simulations.
Dernière mise à jour : Jeudi, le 18 Juin 2020