sql >> Database >  >> RDS >> Mysql

Bereken leeftijd met decimalen vanaf geboortedatum

Gewoonlijk is DOB-berekening vrij eenvoudig in mysql als je de jaren wilt berekenen zonder een breuk, iets als

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

Maar aangezien je de breuk ook nodig hebt, zou dit moeten lukken

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

Jaar wordt beschouwd als 365,25 dagen.

Dus in jouw geval heb je misschien de vraag als

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


  1. Substr gebruiken met Instr om een ​​string in Oracle te extraheren

  2. selecteer uit de ene tabel, voeg in een andere tabel in oracle sql-query

  3. Wat is de beste manier om gevoelige gegevens op te slaan in MySQL?

  4. Overervingsbeveiligingsregels geschonden door type:'MySql.Data.Entity.MySqlEFConfiguration'