我有这种情况,我的出生日期存储在数据库中,例如。 1990年3月15日。我想知道信息。年龄介于20和20岁之间的记录30.我该如何撰写此查询?
我试过这个: 我使用此查询获得所有候选人的年龄:
SELECT TIMESTAMPDIFF(YEAR,dob,CURDATE()) as age FROM `profile`
如何使用它来获取20岁和20岁之间所有候选人的名单。 30?
答案 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)