SQL> select to_char(to_date('20040129','yyyymmdd'),'yyyyiw') from dual
  2  /TO_CHA
------
200405 //2004年第五周
from: Oracle的文档
   IW    "Week of year (1-52 or 1-53) based on the ISO standard. "很有可能最后几天属于下一年的第一个星期,就像454周的规则一样。
还是先研究研究ISO 关于日期的standard吧!