SELECT 
   NEXT_DAY(sysdate,'Monday') Monday,
   NEXT_DAY(sysdate,'sunday') sunday
FROM dual;

解决方案 »

  1.   

    修定:
    SELECT 
       NEXT_DAY(sysdate,'Monday')-7 Monday,
       NEXT_DAY(sysdate,'sunday') sunday
    FROM dual;
      

  2.   

    select next_day(to_date('20020312','yyyymmdd'),'星期一')-7 from dual;
    select next_day(to_date('20020312','yyyymmdd'),'星期日') from dual;
      

  3.   

    楼上两位: 
    错!
    今天要是星期天, 楼上两位会得到下个星期天.
    这个问题, 要取决于当前的nls_territory, 也即一周的第一天从哪天开始.如果, 从周日开始.
    select trunc(sysdate, 'D') + 1 from dual;  -- 周一
    select trunc(sysdate, 'D') from dual;   -- 周日如果, 从周一开始.
    select trunc(sysdate, 'D') + 1 from dual;  -- 周一
    select trunc(sysdate, 'D')+7 from dual;   -- 周日
    上面的语句前提是当前session的NLS_TERRITORY为'CHINA'或'AMERICAN'(或者其它以周日为第一天的国家类型, 印象中:GERMANY为周一作为起始日)===========================
    oldwain
    ---------------------------
    http://www.itpub.net/index.php?referrerid=32 
    http://www.linuxforum.net/ 
    http://expert.csdn.net/
    http://www.oraclefan.net/ 
      

  4.   

    oldwain(老斗) 叙述的真严谨!:)
      

  5.   

    同意oldwain(老斗)的看法,
    next_day函数只能得到下一星期相同的日期。这个函数与当前日期有相当大的关系。
    所以结果敢随着当前日期的变化而变化