我必须从当前日期开始过滤SQL的结果,并显示所有记录,直到当天+ 10天。因此,如果是十二月二十二日,我应该显示当天开始的所有记录,而不是在一月一日之后。我怎样才能做到这一点?我尝试了一个简单的查询,如下所示,但它似乎只显示记录,直到当前月份的最后一天,然后显示下一年的记录可以回到当年的第一个月。使用SQL过滤日期范围
SELECT *
FROM mytable
WHERE DAY(mydatefield) >= DAY(CURRENT_TIMESTAMP)
AND mydatefield <= DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 10 DAY)
编辑1
我使用Symfony的2 + 2原则这样的QueryBuilder查询必须与他们
EDIT 2
兼容我解决了2学说问题,通过使用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-today) – Barmar