CURRENT_DATETIME |
Date et heure courante |
| BigQuery |
Syntaxe
|
CURRENT_DATETIME()
|
|
CURRENT_DATETIME(timezone)
|
Paramètres
| Nom |
Description |
| timezone |
Ce paramètre facultatif permet de spécifier le fuseau horaire à utiliser pour déterminer la date et l'heure actuelles. Si ce paramètre n'est pas fourni, BigQuery utilise le fuseau horaire par défaut du projet. Le fuseau horaire doit être spécifié sous forme de chaîne de caractères, comme 'America/Los_Angeles' ou 'Europe/Paris'. |
Description
Cette fonction permet de demander l'heure courante en utilisant le fuseau horaire spécifié ou par défaut.
Remarques
- Retourne un type DATETIME sans information de fuseau : CURRENT_DATETIME renvoie un objet de type DATETIME, contenant à la fois la date et l'heure,
mais sans indication de fuseau horaire dans sa valeur. Cela signifie que même si un fuseau est utilisé pour le calcul, le résultat final n'indique pas ce fuseau, ce qui
peut être source de confusion dans certains contextes.
- Permet de spécifier un fuseau horaire personnalisé : Grâce à son paramètre optionnel timezone, cette fonction permet d'adapter la date et l'heure à
un contexte géographique précis, par exemple 'Europe/Paris' ou 'America/New_York'. Cela est très utile dans les applications mondiales ou les tableaux de bord
nécessitant un affichage localisé.
- Le fuseau horaire par défaut peut varier selon le projet : Si aucun timezone n'est indiqué, BigQuery applique celui défini par défaut dans la
configuration du projet. Cela signifie que deux utilisateurs différents peuvent obtenir des résultats divergents pour une même requête si leurs projets respectifs ont
des configurations régionales différentes.
- Ne contient pas la précision des fractions de secondes : Le type DATETIME retourné par CURRENT_DATETIME contient l'heure jusqu'aux secondes, mais ne va
pas au-delà (comme les millisecondes ou microsecondes). Pour plus de précision temporelle, on peut préférer CURRENT_TIMESTAMP, qui retourne un TIMESTAMP.
- Utile pour des comparaisons ou des enregistrements sans décalage horaire : Puisque le type DATETIME est indépendant du fuseau, il est idéal pour enregistrer
des événements planifiés (comme des heures d'ouverture), où l'heure locale est importante mais ne doit pas varier selon l'utilisateur. Cela évite les erreurs dues à des
conversions de fuseaux.
- Diffère fondamentalement de CURRENT_TIMESTAMP : Alors que CURRENT_TIMESTAMP() retourne une date-heure avec fuseau (TIMESTAMP), CURRENT_DATETIME() fournit une
date-heure locale sans fuseau. Le choix entre les deux dépend donc du besoin : précision temporelle universelle (UTC) ou affichage local sans conversion.
- Peut être utilisé dans des filtres temporels avec cohérence locale : Dans des clauses WHERE, la fonction est très utile pour sélectionner les
enregistrements récents à partir d'une perspective locale. Par exemple, WHERE datetime_col >= CURRENT_DATETIME('Asia/Tokyo') permet de filtrer les données selon l'heure
locale de Tokyo.
- Le format du résultat est lisible et directement exploitable : La valeur retournée est de la forme 'YYYY-MM-DD HH:MM:SS', ce qui facilite l'affichage
direct dans des rapports, exports CSV ou interfaces utilisateur. Contrairement au TIMESTAMP, il ne nécessite pas de transformation
pour être compréhensible par un utilisateur non technique.
Dernière mise à jour : Jeudi, le 18 Juin 2020