mysql根据出生日期,查询年月日,并且拼接

1.现在有一个表tableUser,有id,name,sex,birthday四个字段,分别为 id=1,name=jack,sex=男,birthday=2002-01-02

现在的问题是:如何根据出生日期查出年龄,并且拼接年月日。

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

它的结果是20岁8月19天。

猜你喜欢

转载自blog.csdn.net/guapilixianghe/article/details/126974833