sql >> Database teknologi >  >> RDS >> Mysql

MySQL Beregn alder efter år måned og dag

Du kan bruge modulo til at bestemme antallet af måneder og dage:

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
 

Resultatet er:

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

Dage beregnes mellem fødselsdagsdato fra forrige måned til i dag.

Nummer 30.4375 Jeg beregnede ved hjælp af denne formel:[DAYS IN YEAR]/12, hvor [DAYS IN YEAR] =365,25



  1. mysql-tabel låst efter php-nedbrud

  2. Den bedste måde at hoste MySQL på Azure Cloud

  3. Sådan hentes feltnavne fra midlertidig tabel (SQL Server 2008)

  4. Indlejret JSON fra 3 en-til-mange tabeller