大家可以使用函数 YEAR、MONTH 和 DAY 抽取出日期的年、月、日,并与当前日期的年份相减得出年龄。然后将年龄与生日中的月和日来确定该用户的实际生日。
SELECT DATE_FORMAT(birthday, '%m%d') AS birthdate, YEAR(CURRENT_DATE) - YEAR(birthday) - (RIGHT(CURRENT_DATE, 5)< RIGHT(birthday, 5)) AS age FROM users;
在这个查询中,大家将用户的出生日期格式化,通过年份相减可以得到用户的年龄,然后使用当前日期与用户的生日进行比较以得出该用户实际的生日。这些函数可以在任何包含日期字段的表上运行。