Fonction AGE( )
Renvoie l'antériorité, en jours, d'une date donnée par rapport à une date de référence spécifiée ou à la date actuelle du système d'exploitation.
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 peut accepter une valeur de type DateHeure, mais la portion de la valeur correspondant à l'heure sera ignorée. Vous ne pouvez pas utiliser AGE( ) avec les valeurs correspondant à l'heure uniquement.
Sortie
Numérique.
Exemples
Exemples basiques
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
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.
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.