The statement what you tried doesn't work because you can find a week on given date and not wise versa.

So i think you need to wrote some thing like this.


select decode(mod(to_number(YEAR),4),0,to_date('01-01-'||YEAR,'dd-mm-yyyy') + 1,to_date('01-01-'||YEAR,'dd-mm-yyyy') )+ WEEKS*7 +DAYS from dual


BMV