Можете да използвате modulo, за да определите броя на месеците и дните:
SELECT
nama
, gender
, dob
, TIMESTAMPDIFF( YEAR, dob, now() ) as _year
, TIMESTAMPDIFF( MONTH, dob, now() ) % 12 as _month
, FLOOR( TIMESTAMPDIFF( DAY, dob, now() ) % 30.4375 ) as _day
FROM
sampelaja
Резултатът е:
+-----------------+--------+------------+-------+--------+------+
| nama | gender | dob | _year | _month | _day |
+-----------------+--------+------------+-------+--------+------+
| Rizkiyandi | 1 | 2010-05-21 | 4 | 3 | 13 |
| Siti Khodijah | 0 | 1980-03-15 | 34 | 5 | 19 |
| Aisyah Az-zahra | 0 | 1986-08-17 | 28 | 0 | 17 |
| Paritem | 0 | 2005-12-13 | 8 | 8 | 20 |
| Ngadimin | 1 | 2014-08-28 | 0 | 0 | 6 |
+-----------------+--------+------------+-------+--------+------+
Дните се изчисляват между рождената дата от предходния месец до днес.
Номер 30.4375
Изчислих по тази формула:[ДНИ В ГОДИНАТА]/12, където [ДНИ В ГОДИНАТА] =365,25