任意日期得到该周周一的日期(适合一周从周一到周日的情形):
----------任意日期得到该周周一的日期(适合一周从周一到周日的情形)----------- select TO_CHAR(to_date(substr('20110613',1,8), 'yyyymmdd') - decode( TO_NUMBER(TO_CHAR(to_date(substr('20110613',1,8),'yyyymmdd'),'D')), 1, -6, TO_NUMBER(TO_CHAR(to_date(substr('20110613',1,8),'yyyymmdd'),'D'))-2) ,'YYYYMMDD') from dual;
任意日期得到该周周日的日期(适合一周从周日到周六的情形):
----------任意日期得到该周周日的日期(适合一周从周日到周六的情形)----------- select TO_CHAR(to_date(substr('20110612',1,8), 'yyyymmdd') - TO_NUMBER(TO_CHAR(to_date(substr('20110612',1,8),'yyyymmdd'),'D')) + 1,'YYYYMMDD') from dual;
其中的'20110612'和'20110613'可以是任意日期