Bueno...
Para el que lo intento, aqui la solucion...
Código:
SELECT FECHA,
DECODE(MOD(ROW_NUMBER() OVER(ORDER BY FECHA), 7), 0,
TRUNC(ROW_NUMBER() OVER(ORDER BY FECHA)/7, 0) -1,
TRUNC(ROW_NUMBER() OVER(ORDER BY FECHA)/7, 0)) SEMANA
FROM (
SELECT MIN_FECHA + (LEVEL - 1) FECHA
FROM (
SELECT TO_DATE('01.01.2009', 'DD.MM.YYYY') MIN_FECHA FROM DUAL
) CONNECT BY LEVEL <= 365
);
Devuelve todo el año 2009, indicando numero de semana, comenzando la semana el Jueves 01.01.2009
Cualquier comentario siempre es bien recibido.
Saludos,
Mario.