DATE |
Date |
|---|---|
| BigQuery | |
Syntaxe
| DATE(year, month, day) |
| DATE(timestamp_expression[, timezone]) |
| DATE(datetime_expression) |
Paramètres
| Nom | Description |
|---|---|
| year | Ce paramètre permet de spécifier l'année de la date souhaitée sous forme d'un entier (INT64). Utilisé dans la syntaxe DATE(year, month, day). |
| month | Ce paramètre permet de spécifier le mois de la date souhaitée sous forme d'un entier (INT64), où 1 représente Janvier et 12 représente Décembre. Utilisé dans la syntaxe DATE(year, month, day). |
| day | Ce paramètre permet de spécifier le jour du mois de la date souhaitée sous forme d'un entier (INT64). Utilisé dans la syntaxe DATE(year, month, day). |
| timestamp_expression | Ce paramètre permet de spécifier une expression de type TIMESTAMP (horodatage) dont la partie date sera extraite. Utilisé dans la syntaxe DATE(timestamp_expression[, timezone]). |
| timezone | Ce paramètre facultatif, utilisé avec timestamp_expression, permet de spécifier le fuseau horaire à considérer pour l'extraction de la date. Si non spécifié, le fuseau horaire par défaut du projet (UTC) est utilisé. Le fuseau horaire doit être une chaîne de caractères valide (par exemple, 'America/Los_Angeles'). |
| datetime_expression | Ce paramètre permet de spécifier une expression de type DATETIME (date et heure sans information de fuseau horaire) dont la partie date sera extraite. Utilisé dans la syntaxe DATE(datetime_expression). |
Description
Cette fonction permet de demander une date en se basant sur un horodatage ou une année, mois et jour.
Remarques
- Fonction polyvalente avec plusieurs syntaxes : La fonction DATE() est très flexible puisqu'elle accepte trois formes principales : une date explicite (année, mois, jour), une extraction depuis un TIMESTAMP, ou encore depuis un DATETIME. Cette diversité permet une adaptation facile selon la nature des données d'entrée.
- Prise en charge du fuseau horaire lors de l'extraction depuis un TIMESTAMP : Lorsque vous utilisez un TIMESTAMP comme argument, vous pouvez spécifier un fuseau horaire personnalisé. Cela garantit que l'extraction de la date respecte le contexte temporel correct, ce qui est particulièrement utile dans les environnements multi-régions.
- Retourne un type DATE pur, sans heure ni fuseau horaire : Peu importe la forme utilisée, le résultat de la fonction DATE() est toujours une valeur DATE, c'est-à-dire une date au format YYYY-MM-DD sans composante horaire ni notion de temps. Cela la rend idéale pour les comparaisons ou agrégations calendaires.
- Particulièrement utile pour normaliser les données temporelles : Grâce à cette fonction, il est facile d'extraire la composante date d'un TIMESTAMP ou DATETIME, ce qui est pratique pour regrouper ou filtrer des données sur une base quotidienne, indépendamment de l'heure.
- Permet une génération manuelle de dates à partir de constantes : En utilisant la syntaxe DATE(year, month, day), il est possible de construire des dates à la volée dans les requêtes, par exemple pour des comparaisons statiques ou pour simuler des plages de dates dans des expressions conditionnelles.
- Compatible avec les fonctions de comparaison et de tri : Étant donné que le type DATE peut être trié ou comparé directement, DATE() peut être utilisée pour filtrer des enregistrements antérieurs, postérieurs ou égaux à une certaine date, facilitant ainsi la manipulation chronologique des résultats.
- Attention aux conversions implicites lors de l'utilisation avec d'autres types temporels : Lorsqu'on compare une valeur DATE avec un TIMESTAMP, BigQuery effectue parfois des conversions implicites qui peuvent causer des incohérences si les fuseaux horaires ne sont pas bien maîtrisés. Il est souvent préférable d'utiliser DATE() explicitement pour harmoniser les types.
- Utile dans des opérations de partitionnement ou d'agrégation par date : Dans les tables partitionnées par date ou lors d'analyses temporelles (par jour, semaine, mois), DATE() est fréquemment utilisée pour extraire les clés de regroupement temporel, ce qui optimise les performances et la lisibilité des requêtes analytiques.
Dernière mise à jour : Jeudi, le 18 Juin 2020