TIMESTAMP_SECONDS |
Seconde de horodatage |
| BigQuery |
Syntaxe
|
TIMESTAMP_SECONDS(int64_expression)
|
Paramètres
| Nom |
Description |
| int64_expression |
Ce paramètre permet de spécifier une valeur numérique entière (INT64) représentant le nombre de secondes écoulées depuis l'époque UNIX (le 1er janvier 1970, 00:00:00 UTC). La fonction TIMESTAMP_SECONDS convertit ce nombre de secondes en un type de données TIMESTAMP. |
Description
Cette fonction permet de demander le nombre de seconde écoulé depuis le 1er janvier 1970 en se basant sur une expression horodatage.
Remarques
- Conversion directe depuis l'époque UNIX : La fonction TIMESTAMP_SECONDS est utile pour transformer un entier représentant un nombre de secondes depuis
le 1er janvier 1970 (UTC) en un objet horodatage (TIMESTAMP). C'est un outil essentiel pour interpréter des données temporelles stockées au format UNIX.
- Format idéal pour les bases de données techniques : De nombreux systèmes de journalisation, capteurs ou fichiers de journal de bord entreposant les dates
sous forme de secondes UNIX. Cette fonction facilite leur conversion en un format temporel exploitable dans BigQuery.
- Interprétation en UTC par défaut : La valeur résultante est toujours interprétée comme une heure en UTC. Si l'on souhaite l'afficher dans un autre
fuseau horaire, il faut ensuite appliquer une transformation via DATETIME(TIMESTAMP, "timezone") ou utiliser des fonctions complémentaires.
- Complémentaire avec les fonctions inverses : TIMESTAMP_SECONDS peut être utilisée avec UNIX_SECONDS(timestamp_expression) pour faire des allers-retours
entre un horodatage et sa représentation en secondes. Cela est pratique dans des opérations de contrôle ou de transformation bidirectionnelle.
- Représentation simple mais puissante des dates : Les secondes UNIX sont faciles à manipuler mathématiquement (ajouts, soustractions), ce qui permet de
calculer rapidement des intervalles, des âges ou des dates futures avant conversion avec TIMESTAMP_SECONDS.
- Ne tient pas compte des fuseaux horaires dans l'entrée : La fonction prend uniquement un entier sans contexte de fuseau horaire. Cela signifie que
l'utilisateur doit s'assurer que la valeur représente bien une seconde UTC, sans quoi la date obtenue pourrait être incorrecte.
- Fiable pour le traitement de données massives : Dans les pipelines de traitement de données, notamment avec des volumes importants, entreposer les dates
en secondes (INT64) est plus efficace en espace et en vitesse. TIMESTAMP_SECONDS permet alors une conversion rapide au besoin.
- Permet la manipulation temporelle simple dans les scripts SQL : En générant ou manipulant des entiers représentant des instants (exemple :
UNIX_SECONDS(CURRENT_TIMESTAMP()) + 3600), on peut ensuite les convertir en dates exactes avec cette fonction pour des calculs dynamiques.
Dernière mise à jour : Jeudi, le 18 Juin 2020