MySQL在Select语句中将日期转换为年龄

时间:2013-10-05 03:09:39

标签: mysql date select

我正在使用以下Select语句来获取用户生日和其他信息。我想看看我是否可以在返回的数据中将日期转换为年龄 - 而不是在PHP中转换它。

数据库中的日期格式为:1979-04-26

SELECT profile_username,profile_gender,profile_birthdate FROM loginTable WHERE id=1000;

当前的回报就像是

Adam,Male,1979-04-26

我能回来吗?

Adam,Male,34

1 个答案:

答案 0 :(得分:2)

SELECT profile_username,profile_gender,
DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(profile_birthdate, '%Y') - 
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(profile_birthdate, '00-%m-%d')) 
AS age
FROM loginTable WHERE id=1000;

<强> SAMPLE FIDDLE