Выбор всех пользователей с днём рождения в ближайшие 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;

 

 






У данной записи пока нет ниодного комментария