Funcion simple de como obtener el ultimo dia de la semana, partiendo de una fecha dada.
Para esta función asume que el primer dia de la semana es el lunes y no el domingo como en la mayoria de los ejemplos
Create or replace FUNCTION ULTIMO_DIA_SEMANA ( Fecha IN DATE) RETURN DATE AS
resultado date;
suma number;
x_dia varchar2(50) ;
BEGIN
suma := 0;
x_dia := '';
x_dia := trim(to_char(fecha, 'Day'));
if x_dia = 'Monday' then
suma := 6;
end if;
if x_dia = 'Tuesday' then
suma := 5;
end if;
if x_dia = 'Wednesday' then
suma := 4;
end if;
if x_dia = 'Thursday' then
suma := 3;
end if;
if x_dia = 'Friday' then
suma := 2;
end if;
if x_dia = 'Saturday' then
suma := 1;
end if;
if x_dia = 'Sunday' then
suma := 0;
end if;
resultado := fecha + suma;
RETURN resultado;
END ULTIMO_DIA_SEMANA;


