DevKB
Web Development Knowledge Base
HOME | TOP 20 | WRITE AN ARTICLE |
Sections :



RSS RSS Feed

You too, please publish your useful code snippets in any programming language :
write an article !


Valid HTML 4.0 Transitional

Plateforme d'envoi de gros fichiers en ligne
Dépannage site web
Blog infogérance
Hébergement e-mail

Olivier Ligny - - 11/03/2008 - vue 13739 fois

Calculer l'âge d'une personne dans une requête MySQL

Comme vous l'avez peut être déjà remarqué, en programmation les dates démarrent au 1er janvier 1970. Même si dans une table MySQL il est possible d'inscrire des dates de n'importe quelle époque (ex: 1792-07-14), il n'est pas possible d'effectuer des calculs avec des dates trop anciennes.
Pour calculer l'âge d'une personne dont vous connaissez la date de naissance, il faut utiliser un code tel que celui ci :

UPDATE members set age = abs(
DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(dateofbirth)), '%Y')+0
)

Où 'dateofbirth' est un champ de type DATE et où 'age' est un champ de type INT
Vous pouvez adapter la requête pour utilisation dans un SELECT :
SELECT nom, prenom, (DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(dateofbirth)), '%Y')+0) as age from personnes

Et en jouant avec le dernier paramètre (ici : %Y), vous devriez pouvoir récupérer un âge plus précis, avec le détail des mois et des jours.


galliot.com - 08/07/2008
Beware !!!!! 1 year = 365.2425
cool - 11/08/2008
merci ca m'a aidé
leGars - 17/10/2013
9a date mais c'est cool ;)


Write a comment :
Your name :     E-mail (optional) :

AntiSpam : what animal is visible on this picture ? :

Nos partenaires : iPhone 8 Cases & Protection