可使用
1.select trunc(日期,'d')+1 from dual; --意周日为一周起始日期
2.select trunc(日期,'iw') from dual;--意周日为一周结束日期
select trunc(sysdate,'d')+1 from dual;
select trunc(sysdate,'iw') from dual;
select trunc(to_date('2011-03-13','YYYY-MM-DD'),'d')+1 from dual;
select trunc(to_date('2011-03-13','YYYY-MM-DD'),'iw') from dual;
select to_date('2011-03-13','YYYY-MM-DD') from dual;
两者周划分不同
获取本年一月一至今所有周
SELECT REPLACE(TO_CHAR(TRUNC(TO_DATE('2018-01-01', 'YYYY-MM-DD') + (ROWNUM - 1) * 7,'D') + 1,'YYYY-MM-DD'),'-','') AS START_TIME,
REPLACE(TO_CHAR(TRUNC(TO_DATE('2018-01-01', 'YYYY-MM-DD') + (ROWNUM - 1) * 7,'D') + 7,'YYYY-MM-DD'),'-','') AS END_TIME
FROM DUAL
CONNECT BY ROWNUM <=TRUNC(SYSDATE - TO_DATE('2018-01-01', 'YYYY-MM-DD')) / 7 + 1