sql >> Databasteknik >  >> RDS >> Mysql

Beräkna ålder med decimaler från födelsedatum

Vanligtvis är DOB-beräkning ganska lätt i mysql när du vill beräkna åren utan bråk något som

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

Men eftersom du också behöver bråket så borde detta göra susen

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

År anses vara 365,25 dagar.

Så i ditt fall kan du ha frågan som

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


  1. Hur räknar man hur många läkare som är bokade av varje patient?

  2. Tips för att övervaka MariaDB Cluster

  3. Vilket är det bästa PostgreSQL-gränssnittet? Jämförelse 2021

  4. Åtkomst till XAMPP MySql-databas från en annan dator