1.查询几年之内的(3年以内)
BETWEEN(select extract(year from sysdate) -2 from dual) and (select extract(year from sysdate) from dual)
2.查询一天前,n天前
select TO_DATE(TO_CHAR(TRUNC(SYSDATE - 1), 'YYYY-MM-DD'), 'YYYY-MM-DD') from dual
select TO_DATE(TO_CHAR(TRUNC(SYSDATE - **n**), 'YYYY-MM-DD'), 'YYYY-MM-DD') from dual
3.查询一个月内
select TO_CHAR(SYSDATE, 'YYYY-MM')from dual
4.查询周
select to_char(日期, 'ww') Week from table