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

vypočítat věk v letech, měsících a dnech

SELECT FLOOR(( DATE_FORMAT(NOW(),'%Y%m%d') - DATE_FORMAT(t.dob,'%Y%m%d'))/10000) AS years,
       FLOOR((1200 + DATE_FORMAT(NOW(),'%m%d') - DATE_FORMAT(t.dob,'%m%d'))/100) %12 AS months,
       (SIGN(DAY(NOW()) - DAY(t.dob))+1)/2 * (DAY(NOW()) - DAY(t.dob)) +
      (SIGN(DAY(NOW()) - DAY(t.dob))+1)/2 * (DAY(NOW()) - DAY(t.dob)) +
      (SIGN(DAY(t.dob) - DAY(NOW()))+1)/2 * (DAY(STR_TO_DATE(DATE_FORMAT(t.dob + INTERVAL 1 MONTH,'%Y-%m-01'),'%Y-%m-%d') - INTERVAL 1 DAY) - DAY(t.dob) + DAY(NOW())) AS days
 FROM tablename t

zkuste tento dotaz



  1. MySQL dual master

  2. Zkontrolujte, zda v databázi existuje tabulka - PL SQL

  3. Jak opravit chybu při provádění DDL alter table events drop cizího klíče FKg0mkvgsqn8584qoql6a2rxheq prostřednictvím prohlášení JDBC

  4. Místo spouštěče v SQL Server ztrácí SCOPE_IDENTITY?