TIMESTAMP |
Horodatage |
|---|---|
| BigQuery | |
Syntaxe
| TIMESTAMP( string_expression[, timezone] | date_expression[, timezone] | datetime_expression[, timezone] ) |
Paramètres
| Nom | Description |
|---|---|
| string_expression | Ce paramètre permet de spécifier une chaîne de caractères qui représente une date, une heure, ou une date et une heure combinées. BigQuery tentera de l'analyser et de la convertir en un horodatage. Le format de la chaîne doit être reconnaissable par BigQuery (par exemple, 'YYYY-MM-DD HH:MM:SS'). |
| date_expression | Ce paramètre permet de spécifier une expression de type DATE. Cette date sera convertie en un horodatage, généralement à minuit (00:00:00) du jour spécifié, dans le fuseau horaire si précisé. |
| datetime_expression | Ce paramètre permet de spécifier une expression de type DATETIME. Cette date et heure seront converties en un horodatage. |
| timezone | Ce paramètre facultatif permet de spécifier le fuseau horaire à utiliser pour l'interprétation de l'string_expression, date_expression ou datetime_expression. C'est une chaîne de caractères représentant un nom de fuseau horaire valide (par exemple, 'America/New_York' ou 'UTC'). Si ce paramètre est omis, BigQuery utilise le fuseau horaire par défaut pour la session ou le projet, qui est généralement UTC. |
Description
Cette fonction permet de convertir une expression en type de données TIMESTAMP.
Remarques
- Conversion souple de plusieurs types de données : La fonction TIMESTAMP est polyvalente car elle peut accepter comme entrée une chaîne (STRING), une date (DATE) ou une date-heure (DATETIME). Elle centralise ainsi la transformation en un seul type temporel standardisé dans BigQuery, simplifiant les opérations temporelles.
- Gestion explicite ou implicite des fuseaux horaires : Un des grands atouts de cette fonction est la possibilité d'intégrer un fuseau horaire spécifique. Si le paramètre timezone est omis, BigQuery utilise UTC par défaut, ce qui peut mener à des erreurs d'interprétation si les utilisateurs s'attendent à un autre fuseau (comme America/Montreal).
- Utilisée comme point de référence temporel unifié : TIMESTAMP est souvent utilisée pour aligner des données issues de sources hétérogènes en un seul format temporel. Cela permet de réaliser plus facilement des comparaisons, des calculs de durée, ou des agrégations temporelles cohérentes.
- Sensibilité au format de la chaîne passée en paramètre : Lorsqu'on fournit une string_expression, il est crucial qu'elle suive un format compatible (par exemple, YYYY-MM-DD HH:MM:SS). Un format ambigu ou mal formé peut entraîner une erreur ou une mauvaise interprétation du moment souhaité.
- Utilisation implicite de minuit pour les dates : Lorsque l'argument est une date (DATE), la fonction suppose que l'heure est minuit (00:00:00). Ce comportement par défaut peut entraîner des biais si l'on attend un instant précis dans la journée sans le préciser.
- Compatible avec les conversions inverses : Un TIMESTAMP peut être reconverti facilement en DATE, DATETIME, ou STRING, ce qui en fait un pivot idéal dans les opérations de manipulation temporelle. Cette flexibilité est essentielle pour les affichages, les filtres ou les exports de données.
- Important pour les analyses temporelles précises : En analytique, les différences entre un DATE (sans heure) et un TIMESTAMP (avec heure et fuseau) sont critiques. Par exemple, pour suivre des événements au niveau de la seconde ou de la milliseconde, seule une représentation TIMESTAMP est appropriée.
- Impact sur les performances des jointures temporelles : L'utilisation uniforme de TIMESTAMP peut améliorer les performances lors des jointures ou des filtres temporels, en évitant les conversions dynamiques. Cela est particulièrement important dans les requêtes BigQuery traitant de très grands volumes de données.
Dernière mise à jour : Jeudi, le 18 Juin 2020