-- -- // This code comes from http://code.calum.org/ -- Name: get_working_days(date, date); Type: FUNCTION; Schema: public; Owner: calum -- CREATE FUNCTION get_working_days(date, date) RETURNS SETOF date AS $_$DECLARE r RECORD; BEGIN FOR r IN SELECT ($1 + s.t) AS dates FROM generate_series(0,($2 - $1)) AS s(t) WHERE EXTRACT('dow' FROM ($1 + s.t)) != 0 AND EXTRACT('dow' FROM ($1 + s.t)) != 6 AND ($1 + s.t) NOT IN (SELECT * FROM bankholidays) LOOP RETURN NEXT r; END LOOP; RETURN; END$_$ LANGUAGE plpgsql;