我无法找到在给定日期内30天范围内的记录
例如:我的日期为2014年10月31日,我的具体截止日期为2014年11月28日。
我想检索此记录(2014年10月31日)当我的当前日期是2014年10月28日,直到我当前的日期变为11/28/2014(即30天范围内)。如果我当前的日期是2014年11月29日,那么我不需要检索此记录。
我花了将近3个小时的时间。如果您能给我一个查询,将不胜感激。
谢谢, VJ。
答案 0 :(得分:3)
一般格式是:
where duedate >= CURRENT_DATE - interval '30' day and duedate <= CURRENT_DATE
这是标准语法,适用于MySQL和Postgres。 Oracle等效项是:
where duedate >= trunc(sysdate) - 30 day and duedate <= trunc(sysdate)
与SQL Server等效的是:
where duedate >= cast(getdate() - 30 as date) and duedate <= cast(getdate() as date)