Funcion simple de como obtener el primer 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 PRIMER_DIA_SEMANA ( Fecha IN DATE) RETURN DATE AS
resultado date;
restar number;
x_dia varchar2(50) ;
BEGIN
restar := 0;
x_dia := '';
x_dia := trim(to_char(fecha, 'Day'));
if x_dia = 'Monday' then
restar := 0;
end if;
if x_dia = 'Tuesday' then
restar := 1;
end if;
if x_dia = 'Wednesday' then
restar := 2;
end if;
if x_dia = 'Thursday' then
restar := 3;
end if;
if x_dia = 'Friday' then
restar := 4;
end if;
if x_dia = 'Saturday' then
restar := 5;
end if;
if x_dia = 'Sunday' then
restar := 6;
end if;
resultado := fecha - restar;
RETURN resultado;
END PRIMER_DIA_SEMANA;


