Calculer un âge de manière relative

prabang Messages postés 2 Statut Membre -  
prabang Messages postés 2 Statut Membre -
Bonjour,

J'ai plus de 65000 clients avec leur date de naissance et un âge calculé au mois de février 2013.
Parallèlement, j'ai une date de début de fonctionnement d'un produit (qui peut s'échelonner de janvier 2011 à décembre 2012. J'aimerais savoir quel âge avait chaque client à la souscription du produit.
J'ai commencé par créer une variable "MOIS DE NAISSANCE", puis une autre "ANNEE DE NAISSANCE" puis "MOIS DEBUT DE FONCTIONNEMENT DU PRODUIT" puis "ANNEE DEBUT DE FONCTIONNEMENT DU PRODUIT" et je pêche car j'ai peur d'oublier des cas (surtout au changement d'année et mois de janvier ( mois 01) et décembre (mois 12).
Comment faire ? Merci de votre aide.

Langage sql.

2 réponses

silentData Messages postés 201 Statut Membre 40
 
Je ne pense pas qu'il soit possible d'"oublier des cas"...

Prends l'année de souscription et soustraits-y leur année de naissance, tu auras l'âge possible que pourraient avoir les clients.

Ensuite, il ne reste plus qu'à supprimer une année selon qu'ils aient déjà eut leur anniversaire à la date de souscription ou non. En pseudo-code, cela donne :

Age = dateSouscription.annee - dateNaissance.annee

Si dateSouscription.mois > dateNaissance.mois OU (dateSouscription.mois = dateNaissance.mois ET dateSouscription.jour > dateNaissance.jour) ALORS
    Age = Age - 1
Fin Si


J'espère avoir pu t'aider
0
prabang Messages postés 2 Statut Membre
 
Super ! Je n'ai pas fait comme ça mais cela revient au même. Merci.
0