Это выглядит грязно, но это, вероятно, поможет, или, по крайней мере, станет отправной точкой для вас:
select TO_CHAR(
trunc(sysdate,'YYYY')
+ ((20-1) * 7)
+ (to_char(trunc(sysdate,'YYYY')
+ ((20-1) * 7),'D')
- 5)
,'"Wk"WW DY DD-MON-YYYY') from dual;
Wk20 FRI 21-MAY-2010
Это начинается с первого дня года, добавляет 20 x 7 дней, а затем добавляет достаточно дней, чтобы получить следующую пятницу.
В вашей локали день 5 может не быть пятницей, поэтому вам, возможно, придется настроить этот параметр.