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


RSS RSS Feed

Vous aussi, aidez les autres développeurs, publiez vos bouts de codes utiles et vos liens préférés ...
Publiez un article !


Valid HTML 4.0 Transitional

Plateforme d'envoi de gros fichiers en ligne
Script PHP de boutique en ligne
Mondes virtuels gratuits en 3D

Olivier Ligny - - 11/03/2008 - vue 138 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.




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

AntiSpam : please write the sum of 2 + 9 =