Renvoie le nombre de jours écoulés (l'antériorité) entre une date spécifiée et une date limite donnée ou la date actuelle du système d'exploitation ou bien le nombre de jours écoulés entre deux dates.
Syntaxe
AGE(date/DateHeure/chaîne_de_caractères <;date_référence>)
Paramètres
Nom | Type | Description |
---|---|---|
date/DateHeure/chaîne_de_caractères |
caractère DateHeure |
Le champ, l'expression, ou la valeur littérale à classer par antériorité. |
date_référence
optionnel |
caractère DateHeure |
Le champ, l'expression, ou la valeur littérale par rapport auxquels date/DateHeure/chaîne_de_caractères est comparé. Si ce paramètre est ignoré, la date actuelle du système d'exploitation est utilisée comme date de référence. |
Remarque
date/DateHeure/chaîne_de_caractères et date_référence peuvent accepter une valeur de type DateHeure. Vous ne pouvez pas utiliser AGE( ) avec les valeurs correspondant à l'heure uniquement.
Pour plus d'informations, consultez la section Utilisation de AGE( ) avec des données DateHeure.
Sortie
Numérique.
Exemples
Exemples de base
Aucune date de référence
Renvoie le nombre de jours entre le 31 décembre 2014 et la date actuelle :
- Si une valeur positive est renvoyée, elle est égale au nombre de jours dans le passé où le 31 décembre 2014 a eu lieu
- Si une valeur négative est renvoyée, elle est égale au nombre de jours dans le futur où le 31 décembre 2014 aura eu lieu
- Si 0 est renvoyé, la date actuelle est le 31 décembre 2014
AGE(`20141231`)
Renvoie le nombre de jours entre chaque date dans le champ Date_échéance et la date actuelle :
AGE(Date_échéance)
Mélanger les types de données
Renvoie 518, le nombre de jours entre les deux dates spécifiées.
AGE(`20130731`;`20141231`)
AGE("20130731";"20141231")
AGE(`20130731`;"20141231")
AGE(`20130731 235959`;`20141231`)
À l'aide des dates de référence et des champs
Renvoie le nombre de jours entre chaque date dans le champ Date_échéance et la date de référence du 31 décembre 2014 :
- Les dates antérieures à la date de référence renvoient une valeur positive égale au nombre de jours avant le jour de référence auquel elles ont lieu
- Les dates postérieures à la date de référence renvoient une valeur négative égale au nombre de jours après le jour de référence auquel elles ont lieu
AGE(Date_échéance ; `20141231`)
Renvoie le nombre de jours entre le 31 décembre 2014 et chaque date dans le champ Date_échéance. Les résultats sont les mêmes que dans l'exemple immédiatement ci-dessus, mais le signe des valeurs renvoyées (positif ou négatif) est inversé :
AGE(`20141231`; Date_échéance)
Comparaison de dates dans des champs
Renvoie le nombre de jours entre chaque date dans le champ Date_paiement et une date correspondante dans le champ Date_échéance :
- Les dates de paiement antérieures aux dates d'échéance renvoient une valeur positive, indiquant un paiement avant l'échéance
- Les dates de paiement postérieures aux dates d'échéance renvoient une valeur négative, indiquant un paiement après l'échéance
AGE(Date_paiement; Date_échéance)
Renvoie le nombre de jours entre chaque date dans le champ Date_paiement et une date correspondante dans le champ Date_échéance plus une période de grâce de 15 jours.
- Les dates de paiement antérieures aux dates d'échéance, ou jusqu'à 15 jours après la date d'échéance, renvoient une valeur positive
- Les dates de paiement postérieures de plus de 15 jours aux dates d'échéance renvoient une valeur négative, indiquant un paiement après l'échéance en dehors de la période de grâce
AGE(Date_paiement; Date_échéance+15)
Exemples avancés
Extraction des paiements en retard
Extraire le nom, le montant et la date de facture de chaque enregistrement dont la facture présente une antériorité supérieure à 180 jours, selon une date de référence placée au 31 décembre 2014 :
EXTRACT FIELDS Nom Montant Date_facture TO "En_retard" IF AGE(Date_facture;`20141231`) > 180
Remarques
Il peut parfois être difficile d'utiliser correctement les fonctions date et heure. Dans la fonction Aide, les rubriques donnent une description détaillée du fonctionnement de chaque fonction. Pour plus d'informations sur les aspects généraux à prendre en compte lors de l'utilisation de fonctions date et heure, consultez les rubriques suivantes :
- Utilisation de DateHeures dans les expressions
- DateHeures sérielles
- Comment les décalages UTC affectent les expressions DateHeure
- Options de date et d'heure
Fonctionnement
La fonction AGE( ) calcule le nombre de jours séparant deux dates.
Quand utiliser la fonction AGE( )
Utilisez AGE( ) pour comparer deux dates afin de déterminer les comptes en retard, effectuer des analyses de soldes cumulés ou effectuer n'importe quelle tâche demandant le nombre de jours écoulés entre deux dates.
Valeurs renvoyées négatives
Une valeur négative est renvoyée si la date spécifiée pour date/DateHeure/chaîne_de_caractères est plus récente que la date indiquée comme date_référence ou que la date du système d'exploitation, si aucune date_référence n'est spécifiée.
Renvoie -518 :
AGE(`20141231`; `20130731`)
Si vous souhaitez que le nombre de jours écoulés entre deux dates soit un nombre toujours positif, quelle que soit la date la plus récente, imbriquez la fonction AGE( ) à l'intérieur de la fonction ABS( ).
Renvoie 518 :
ABS(AGE(`20141231`; `20130731`))
Utilisation de AGE( ) avec des données DateHeure
La fonction AGE( ) peut accepter des données DateHeure dans un seul ou dans les deux paramètres. Toutefois, vous devez être prudent si la partie horaire des données inclut un décalage UTC (indicateur de fuseau horaire).
Données DateHeure sans décalage UTC
La partie correspondant à l'heure d'une valeur DateHeure n'affecte pas le calcul des dates effectué par AGE( ) si les données correspondant à l'heure n'incluent pas de décalage UTC.
Données DateHeure avec décalage UTC
La partie correspondant à l'heure d'une valeur DateHeure peut affecter le calcul de date effectué par AGE( ) si les données correspondant à l'heure dans un paramètre ou les deux incluent un décalage UTC. Analytics rapproche automatiquement le décalage UTC avant d'effectuer le calcul, ce qui peut avoir pour conséquence que le résultat change d'une journée si le rapprochement avance ou recule l'heure en franchissant la ligne de changement de date.
Pour plus d'informations, consultez la section Comment les décalages UTC affectent les expressions DateHeure.
Utilisation d'un champ pour la date de référence
Contrairement à la commande AGE, qui requiert une valeur de date littérale pour la date de référence, la fonction AGE( ) vous permet d'utiliser également un champ pour la date de référence.
Par exemple :
AGE(Date_paiement; Date_échéance)
Utiliser la fonction AGE( ) de cette manière est équivalent à calculer la différence entre deux champs de date en les soustrayant dans une expression.
Par exemple :
Date_paiement – Date_échéance
Informations sur les paramètres
Un champ de DateHeure indiqué pour date/DateHeure/chaîne ou date_référence peut utiliser n'importe quel format de date ou DateHeure, tant que la définition de champ définit correctement le format.
Spécification d'une valeur littérale de date ou de DateHeure
Lorsque vous indiquez une valeur littérale de date ou de DateHeure pour date/DateHeure/chaîne ou date_référence, vous êtes limité aux formats de la table ci-dessous, et vous devez entourer la valeur de guillemets inversés, ou de guillemets simples ou doubles – par exemple, `20141231` ou "20141231".
N'utilisez aucun séparateur comme les barres obliques (/) ou les deux points (:) entre les composants individuels des dates ou des heures. Les deux-points sont autorisés dans les valeurs heure de type caractère.
-
Valeurs DateHeure : vous pouvez utiliser n'importe laquelle des combinaisons de formats de date, de séparateur et d'heure répertoriées dans le tableau ci-dessous. La date doit précéder l'heure, et vous devez utiliser un séparateur entre les deux. Les séparateurs valides sont un espace unique, la lettre « t » ou la lettre « T ».
Exemples de formats
Exemples de valeurs littérales
AAAAMMJJ
`20141231`
"20141231"
AAMMJJ
`141231`
"141231"
AAAAMMJJ hhmmss
`20141231 235959`
"20141231 235959"
AAMMJJthhmm
`141231t2359`
"141231t2359"
AAAAMMJJThh
`20141231T23`
"20141231T23"
AAAAMMJJ hhmmss+/-hhmm
(décalage UTC)
`20141231 235959-0500`
"20141231 235959-0500"
AAMMJJ hhmm+/-hh
(décalage UTC)
`141231 2359+01`
"141231 2359+01"
Remarque
N'utilisez pas hh seul dans le format d'heure principal avec des données qui ont un décalage UTC. Par exemple, évitez : hh+hhmm. Il se peut que les résultats ne soient pas fiables.