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天。