没有找到Oracle取星期的函数,所以首先要维护一个基础数据,信息要包括:某一天是第几周星期几。有了这个基础的信息,才能计算出你要的数据。

解决方案 »

  1.   

    select trunc(next_day(sysdate,'星期一')-7) from dual
      

  2.   

    CREATE OR REPLACE PROCEDURE eric_1
    IS
       i number := 1;
       d date;
           
    BEGIN
    for i in 1..37
    loop
    select next_day(to_date(trunc(sysdate,'year') - 1), 'sunday') into d from dual;
    DBMS_OUTPUT.put_line ('a');
    end loop;
    DBMS_OUTPUT.put_line (d);
    END;
    /d就是要找的日期。
      

  3.   

    select case when to_char(trunc(&sdate,'year'),'FMD' ) = 1 then trunc(&sdate,'year') + 7*(&NWeek-1) else trunc(&sdate,'year') + 7*&NWeek -  to_char(trunc(&sdate,'year'),'FMD' )  end from dual 有点晚了,嘎嘎
    &sdate 年份
    &NWeek 第几周