sql >> Databáze >  >> RDS >> Mysql

MySQL Vypočítejte věk podle roku, měsíce a dne

K určení počtu měsíců a dnů můžete použít 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

Výsledek je:

+-----------------+--------+------------+-------+--------+------+
| 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 |
+-----------------+--------+------------+-------+--------+------+

Dny se počítají od data narozenin z předchozího měsíce do dneška.

Číslo 30.4375 Počítal jsem pomocí tohoto vzorce:[DAYS IN YEAR]/12, kde [DAYS IN YEAR] =365,25



  1. MySQL If Date prohlášení?

  2. MySQL - jak zobrazit nejnovější téma na vlákno

  3. odkazuje cizí klíč vždy na jedinečný klíč v jiné tabulce?

  4. Nejlepší je použít * při volání mnoha polí v mysql?