Мне нужно отфильтровать результаты SQL начиная с текущего дня и отображать все записи до текущего дня + 10 дней. Так что, если 22 декабря, я должен показать все записи, начиная с этого дня, и это не после 1 января. Как я могу это сделать? Я попробовал простой запрос, подобный приведенному ниже, но он, кажется, отображает только записи до последнего дня текущего месяца, а затем вместо того, чтобы показывать записи следующего года, восходит к первому месяцу текущего года.Отфильтровать диапазон дат с помощью SQL
SELECT *
FROM mytable
WHERE DAY(mydatefield) >= DAY(CURRENT_TIMESTAMP)
AND mydatefield <= DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 10 DAY)
EDIT 1
Я использую Symfony 2 + Doctrine 2 QueryBuilder поэтому запрос должен быть совместим с ними
EDIT 2
Я решил Учение 2 проблема, используя запрос, предложенный eggyal с этим кодом PHP
$queryBuilder->where($queryBuilder->expr()->gte('mydatefield', 'CURRENT_DATE()'))->andWhere($queryBuilder->expr()->lte('mydatefield', 'DATE_ADD(CURRENT_DATE(), 10, \'DAY\')'));
возможный дубликат из [Как найти разницу между сегодняшней датой и X-днями с сегодняшнего дня?] (http://stackoverflow.com/questions/13981334/how-do-i-find-the-difference-between-todays-date-and -x-days-from-today) – Barmar