FORMAT_TIMESTAMP |
Format d'horodatage |
| BigQuery |
Syntaxe
|
FORMAT_TIMESTAMP(format_string, timestamp[, time_zone])
|
Paramètres
| Nom |
Description |
| format_string |
Ce paramètre permet de définir le modèle de formatage souhaité pour l'horodatage de sortie. Il utilise des éléments de format spécifiques pour représenter les différentes parties de la date et de l'heure (par exemple, %Y pour l'année, %m pour le mois, %d pour le jour, %H pour l'heure sur 24 heures, %M pour les minutes, %S pour les secondes). |
| timestamp |
Ce paramètre permet de spécifier l'expression d'horodatage (une colonne de type TIMESTAMP ou une expression qui en résulte) que vous souhaitez formater. |
| time_zone |
Ce paramètre facultatif permet de spécifier le fuseau horaire à utiliser pour formater l'horodatage. Si ce paramètre n'est pas fourni, le fuseau horaire par défaut de la session BigQuery est utilisé. Ce paramètre peut être un nom de fuseau horaire (comme 'America/New_York') ou un décalage (comme '+01:00'). |
Description
Cette fonction permet de demander une horodatage selon le formatage et l'expression d'horodatage spécifié.
Remarques
- FORMAT_TIMESTAMP transforme un TIMESTAMP en texte lisible selon un format défini : Cette fonction convertit un horodatage brut (TIMESTAMP) en une chaîne
de caractères textuelle, lisible et personnalisée. Cela est particulièrement utile pour l'affichage final dans des rapports, des exports ou des interfaces utilisateurs
où le format ISO par défaut serait trop technique ou peu convivial.
- Le paramètre format_string offre une grande souplesse grâce à des spécificateurs puissants : On peut utiliser des directives comme %Y pour l'année, %m pour
le mois, %d pour le jour, ou encore %H, %M, %S pour l'heure, les minutes et les secondes. Cela permet de générer des formats très diversifiés selon les besoins, y compris
des formats régionaux ou personnalisés.
- Le paramètre timestamp accepte des expressions ou des colonnes de type TIMESTAMP : On peut appliquer la fonction sur des valeurs dynamiques comme
CURRENT_TIMESTAMP(), ou sur des colonnes issues d'une table. Elle s'intègre donc aisément dans des requêtes analytiques, des vues ou des traitements automatisés de
données temporelles.
- Un troisième paramètre facultatif permet de spécifier le fuseau horaire : Ce paramètre, souvent négligé, est crucial lorsqu'on travaille avec des données
internationales. Il permet de convertir et d'afficher l'horodatage selon un fuseau spécifique, comme 'Europe/Paris' ou 'America/Toronto', ce qui garantit une cohérence pour
l'utilisateur final.
- La fonction retourne une chaîne de caractères, pas un TIMESTAMP : Le résultat de FORMAT_TIMESTAMP est de type STRING, donc purement textuel. Il ne doit
pas être confondu avec une transformation de date utilisable pour des calculs ; c'est une fonction d'affichage uniquement, ce qui implique qu'elle est mieux utilisée en
fin de chaîne de traitement.
- Elle est particulièrement utile pour l'export ou l'interface utilisateur : Les formats personnalisés générés peuvent être adaptés à des rapports PDF, des
fichiers CSV ou des interfaces web. Par exemple, on peut produire une date au format français ("le 15 juin 2025 à 14h30") ou un format ISO modifié selon les besoins du
système cible.
- FORMAT_TIMESTAMP permet d'éviter les erreurs d'interprétation liées aux décalages horaires : Sans cette fonction, un TIMESTAMP peut être affiché dans un
fuseau par défaut non maîtrisé. L'ajout explicite du time_zone permet de forcer la cohérence de l'affichage, indispensable dans les environnements multi-fuseaux (comme les
applications globales ou les bases de données partagées).
- Elle complète utilement des fonctions similaires comme FORMAT_DATE et FORMAT_DATETIME : Alors que FORMAT_DATE et
FORMAT_DATETIME ne gèrent pas le temps avec décalage (pas de fuseau), FORMAT_TIMESTAMP est la seule à intégrer la notion de temps absolu
avec fuseau. C'est donc la fonction recommandée pour afficher des événements horodatés mondiaux de manière fiable.
Dernière mise à jour : Jeudi, le 18 Juin 2020