Mysql
 sql >> Base de données >  >> RDS >> Mysql

Calculer l'âge avec des décimales à partir de la date de naissance

Habituellement, le calcul DOB est assez facile dans mysql lorsque vous voulez calculer les années sans aucune fraction quelque chose comme

mysql> select timestampdiff(YEAR,'1981-06-01',now());
+----------------------------------------+
| timestampdiff(YEAR,'1981-06-01',now()) |
+----------------------------------------+
|                                     33 |
+----------------------------------------+

Mais puisque vous avez également besoin de la fraction, cela devrait faire l'affaire

mysql> select format(datediff(curdate(),'1981-06-01') / 365.25,2);
+-----------------------------------------------------+
| format(datediff(curdate(),'1981-06-01') / 365.25,2) |
+-----------------------------------------------------+
| 33.02                                               |
+-----------------------------------------------------+

L'année est considérée comme 365,25 jours.

Donc, dans votre cas, vous pouvez avoir la requête comme

select 
format(datediff(curdate(),dob) / 365.25,2) as dob 
from players limit 5;


No