同题

解决方案 »

  1.   

    select NEXT_DAY( to_Date('2006-07'||to_Char((3-1)*7),'yyyy-MM-dd'),'星期一') as 开始日期
    ,NEXT_DAY( to_Date('2006-07'||to_Char(3*7),'yyyy-MM-dd'),'星期日') as 结束日期
    from dual;--根据具体的需求你还得改一下,比如,一个星期以什么为开始?什么为结束?
      

  2.   

    先计算出第一周的开始日期和结束日期,再加上(7-1)× 7天,就可以得到结果。
    v_first date := date"2006-01-01";
    loop
       exit when to_char(v_first,'ww') = 1 ;
       v_first := v_first + 1; 
    end loop
    哪天开始 := v_first + (substr('2006073',5,2) - 1) * 7;
    哪天结束 := v_first + (substr('2006073',5,2) ) * 7;'ww' 只能用在to_char中,不能使用在 to_date()中