Mysql consulta o ano, mês e dia de acordo com a data de nascimento e splicing

1. Agora existe uma tabela tableUser, que possui quatro campos: id, name, sex e birthday, respectivamente id=1, name=jack, sex=male, birthday=2002-01-02

A questão agora é: como descobrir a idade com base na data de nascimento e unir ano, mês e dia.

SELECT 
    GROUP_CONCAT(
      TIMESTAMPDIFF(YEAR, birthday, CURDATE()),
      '岁',
      TIMESTAMPDIFF(MONTH, birthday, CURDATE()) % 12,
      '月',
      TIMESTAMPDIFF(
        DAY,
        birthday,
        DATE_ADD(
          CURDATE(),
          INTERVAL - TIMESTAMPDIFF(
            MONTH,
            STR_TO_DATE(birthday, '%Y-%m-%d'),
            CURDATE()
          ) MONTH
        )
      ),
      '天'
    ) AS res 
  FROM
    (SELECT 
      birthday 
    FROM
      tableUser 
    WHERE id = '1' 
      AND NAME = 'jack') AS a

Seu resultado é de 20 anos, 8 meses e 19 dias.

おすすめ

転載: blog.csdn.net/guapilixianghe/article/details/126974833