如何查找年龄介于一定范围内的人员名单?

时间:2016-01-07 14:20:13

标签: mysql

我有这种情况,我的出生日期存储在数据库中,例如。 1990年3月15日。我想知道信息。年龄介于20和20岁之间的记录30.我该如何撰写此查询?

我试过这个: 我使用此查询获得所有候选人的年龄:

SELECT TIMESTAMPDIFF(YEAR,dob,CURDATE()) as age FROM `profile`

如何使用它来获取20岁和20岁之间所有候选人的名单。 30?

1 个答案:

答案 0 :(得分:2)

NOW()给出当前日期。现在,为了获得20和30岁的日期,我们可以做到以下几点:

DATE_SUB(NOW(), INTERVAL 20 YEAR)
AND 
DATE_SUB(date, INTERVAL 30 YEAR)

现在剩下的查询非常简单。 也就是说,

SELECT * FROM Person 
WHERE dateOfBirth BETWEEN DATE_SUB(NOW(), INTERVAL 20 YEAR) 
                  AND DATE_SUB(date, INTERVAL 30 YEAR)