Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Berechnen Sie das Alter mit Dezimalstellen vom Geburtsdatum

Normalerweise ist die DOB-Berechnung in mysql ziemlich einfach, wenn Sie die Jahre ohne Bruchteile wie

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

Aber da du auch den Bruch brauchst, sollte das reichen

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

Das Jahr wird als 365,25 Tage betrachtet.

In Ihrem Fall haben Sie also möglicherweise die Abfrage als

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


No