hola que tal a todos, disculpen la moletsia pero necesito ayuda con esto. yo necesito crear una funcion que me permita sacar de un rango de fecha el numero de dias que hay excluyendo a los dias feriados y los dias (sabado y domingo) para luego multiplicarlo por la cantidad de horas que trabaja en el dia para que asi me de el total de horas laboradas en ese rango.
he estado probando algo pero que va no me da
esto es lo que he hecho
CREATE OR REPLACE FUNCTION acceso.rango(date) RETURNS date AS $$
DECLARE
a INTEGER :=0;
fecha DATE :=$1;
fecha2 DATE := (SELECT ('2007-2-24'::date));
BEGIN
WHILE a<10 LOOP
fecha:=(SELECT (($1::date) + CAST('1 days' AS INTERVAL))::date);
IF (SELECT EXTRACT(DOW FROM TIMESTAMP fecha)=0) THEN
a:=a+1;
END IF;
END LOOP;
return fecha;
END;$$ LANGUAGE plpgsql;
graciasss.