Выбор всех пользователей с днём рождения в ближайшие n дней Mysql
Выбор всех пользователей с днём рождения в ближайшие n дней на Mysql
Пример запроса
SELECT cl.* FROM clients cl
WHERE
IF (
{$days} - DAYOFYEAR(NOW()) > {$period},
DAYOFYEAR(cl.birthday) - DAYOFYEAR(NOW()) < {$period} AND DAYOFYEAR(cl.birthday) - DAYOFYEAR(NOW()) >= 0,
(DAYOFYEAR(cl.birthday) - DAYOFYEAR(NOW()) < {$period} AND DAYOFYEAR(cl.birthday) - DAYOFYEAR(NOW()) >= 0)
OR
({$days} - DAYOFYEAR(cl.birthday) - DAYOFYEAR(NOW()) < {$period} AND {$days} - DAYOFYEAR(cl.birthday) - DAYOFYEAR(NOW()) >= 0)
)
Пример переменных в запросе:
$days = date('L')?366:365;
$period= 30;
|