Как получить возраст с использованием столбца BirthDate по запросу MySQL?

У меня есть столбец BirthDate в таблице базы данных MySQL, чтобы сохранить дату рождения пользователя. Теперь у меня есть форма в html / php с двумя полями (1. Age From 2. Age To).

Если пользователь хочет получить всех пользователей, где их возраст составляет от 10 лет до 20 лет, возможно ли это сделать с запросом MySQL с использованием столбца BirthDate.

благодаря

Ваш запрос будет выглядеть примерно так:

SELECT * FROM your_table WHERE YEAR(CURDATE())-YEAR(BirthDate) BETWEEN 10 AND 20; 

Вы можете так поступить

 SELECT column1, column2, DATE_FORMAT(FROM_DAYS(TO_DAYS(now()) - TO_DAYS(dob)), '%Y') + 0 as age WHERE age >10 AND age <20 ; 
 select * from table where (year(curdate())-year(dob))-(right(curdate(),5)< right(dob,5) ) between 10 and 20 

Другое решение, которое проверяет год и месяц:

 SELECT * FROM yourTable WHERE FLOOR(DATEDIFF(curdate(), birthdate) / 365.25) BETWEEN 10 AND 20 

Это также может быть достигнуто с помощью вспомогательного запроса:

 select * from (select *, TIMESTAMPDIFF(YEAR, birthday, NOW()) as age from table_name) as sub_query where age between 10 AND 20