UNIX_DATE |
Date de UNIX |
| BigQuery |
Syntaxe
|
UNIX_DATE(date_expression)
|
Paramètres
| Nom |
Description |
| date_expression |
Ce paramètre permet de spécifier l'expression de type DATE pour laquelle vous souhaitez calculer le nombre de jours écoulés depuis l'époque UNIX (le 1er janvier 1970). La fonction renvoie un nombre entier (INT64) représentant le nombre de jours entre cette date et le 1er janvier 1970. Si la date fournie est antérieure au 1er janvier 1970, le résultat sera un nombre négatif. |
Description
Cette fonction permet de calculer le nombre de jours s'étant écoulé entre la date d'aujourd'hui et le 1er janvier 1970.
Remarques
- Conversion en nombre de jours UNIX : La fonction UNIX_DATE permet de convertir une date de type DATE en nombre de jours depuis le 1er janvier 1970,
également connu sous le nom d'époque UNIX. Ce format est pratique pour comparer ou manipuler des dates en format numérique simple.
- Résultat toujours un entier (INT64) : La valeur renvoyée est un nombre entier, sans décimales, ce qui signifie que l'heure, les minutes et les secondes ne
sont pas prises en compte. Cela convient donc uniquement à des manipulations où la précision journalière est suffisante.
- Les dates antérieures à 1970 produisent des valeurs négatives : Lorsqu'une date est antérieure au 1er janvier 1970, la fonction retourne un entier
négatif. Par exemple, UNIX_DATE(DATE '1969-12-31') renverra -1. Cela permet de manipuler des dates historiques tout en restant cohérent avec le système UNIX.
- Différent des fonctions basées sur les secondes : Contrairement à UNIX_SECONDS ou UNIX_MICROS, cette fonction n'est pas sensible à l'heure de la journée.
Elle est donc à privilégier dans les cas où seule la composante de date est importante, comme les dates de naissance ou les échéances sans heure précise.
- Utile pour les comparaisons temporelles rapides : Transformer une date en nombre de jours facilite les comparaisons ou les tris chronologiques dans des
opérations SQL, en réduisant la date à un seul entier, ce qui peut accélérer certaines requêtes ou simplifier la logique.
- Idéal pour les calculs de différences de dates : Grâce à cette conversion, il devient simple de calculer la durée entre deux dates en soustrayant leurs
valeurs UNIX_DATE. Cela remplace l'utilisation de DATE_DIFF dans des contextes où une simple soustraction suffit.
- Pas compatible avec les types TIMESTAMP ou DATETIME directement : La fonction n'accepte que des valeurs de type DATE. Si vous lui passez un TIMESTAMP ou
un DATETIME, il faut d'abord utiliser DATE(timestamp_expression) pour extraire la date. Cette contrainte peut entraîner des erreurs si on ne fait pas attention.
- Utile pour les conversions vers des systèmes externes : Le format "nombre de jours depuis 1970" est couramment utilisé dans certains systèmes ou
formats de fichiers (CSV, JSON simplifiés,...). UNIX_DATE permet donc de
standardiser les dates avant de les exporter ou de les intégrer à d'autres outils.
Dernière mise à jour : Jeudi, le 18 Juin 2020