Default Week Format Oracle calculates the week number from the first day of the year instead of the first day of the week.
So, if the year begins on January 1, 2009, and on the first day on Wednesday, week No. 1 will be from January 01, 2009 to January 08-2009 (Wednesday on Tuesdays).
You can use the βiwβ format (and a little customization) if you need a range of weeks to start from Sunday through Saturday. http://download-uk.oracle.com/docs/cd/B14117_01/server.101/b10749/ch9sql.htm#CIHGFJEI
. "IW" , .. ... 01-jul-2008.
select target_date,
to_char(target_date+1,'iw') week_sun_thru_saturday,
to_number(to_char(target_date+1,'iw')) -
to_number(to_char( to_date('10-jul-2008','dd-mon-yyyy')+1,'iw')) week_from_01_jul_2008
from t;
... 1 jul1st jul-07. , 01-jul-2008 - ;)