select substr('2004-01-01',1,4)+floor((to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW')+rownum-1)/53) as yearno||weeknum ,mod(to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW')+rownum-1,53)+1 as weeknum from all_objects where rownum<=(to_date('2005-02-02','yyyy-mm-dd')- to_date('2004-01-01','yyyy-mm-dd'))/7+1

解决方案 »

  1.   

    select substr('2004-01-01',1,4)+floor((to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW')+rownum-1)/53) as yearno,mod(to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW')+rownum-1,53)+1 as weeknum,substr('2004-01-01',1,4)+floor((to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW')+rownum-1)/53)||mod(to_char(to_date('2004-01-01','yyyy-mm-dd'),'IW')+rownum-1,53)+1 from all_objects where rownum<=(to_date('2005-02-02','yyyy-mm-dd')- to_date('2004-01-01','yyyy-mm-dd'))/7+1
      

  2.   

    说真的,我的oracle语法学点点皮毛,有的函数不知道怎么用