Есть задача, сделать выборку в таблице по возрасту - до ЛЕТ. Дата рождения хранится в типе поля date. Пытаюсь сделать так (25 лет для примера):
DATE_SUB(CURDATE(), INTERVAL 25 YEAR) <= birth
Но проблема в том, что если у человека прошел возраст на 1 день больше, то ему все равно 25 лет, но он уже не попадает в список. Как можно сделать с ориентировкой именно на ГОД ?
Есть ответ в официальной документации:
SELECT birth, CURDATE(),
TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age
FROM your_table
WHERE TIMESTAMPDIFF(YEAR,birth,CURDATE()) <= 25
Мне лично считать удобнее так:
select * from t where year(curdate) - year(birth) < yourvalue
;
update
Я не знаком с MySQL совсем, но такой вариант работает в других БД
select * from t where year(curdate - birth) < yourvalue
;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как сделать автоматическую смену внешнего ключа в таблице при удалении родительской записи в другой таблице?
У меня есть сайтИ я хочу реализовать на нём автоматическую очистку кеша
Как в данном массиве найти элемент и поменять соседнее значение? те