Olá,

Após tentar vários recursos do PostgreSQL, consegui realizar o procedimento
através de uma função.
Segue abaixo o código que utilzei:

create or replace function diasUteis(pDataInicio date, pDataFim date)
returns integer
as $_$ declare
    _cont integer;
    _proxData date;
begin
    _proxData := pDataInicio;
    _cont := 0;

    while _proxData <= pDataFim loop
        --se _proxData = fim de semana nao incremente _cont
        if (select extract(DOW from date_trunc('day',_proxData)) not between
1 and 5) is false then

            --aqui faco uma checagem na minha tabela de
feriados/imprensados, se _proxData = feriado,
            --...

            _cont := _cont + 1;
        end if;

        --incremente _prox
        _proxData := _proxData + 1;
    end loop;
    return _cont;
end $_$
language 'plpgsql' volatile;

--

Grato pela atenção,
Daniel Falcão

On 10/24/07, Daniel Falcão <[EMAIL PROTECTED]> wrote:
>
> Olá,
>
> Na realidade eu tenho uma tabela de feriados e imprensados, resolvi apenas
>
> simplificar a questão para ficar mais fácl o entendimento. Para saber se
> um
> determinado dia é sábado ou domingo, podemos usar o "extract (DOW)". :)
>
> Estou comecando a acreditar que o SQL nao oferece recursos para esse tipo
> de situacao, o melhor deve ser construir uma "function" em PL/PGSQL mesmo.
>
> []'s
> Daniel Falcão
>
> On 10/24/07, sergio <[EMAIL PROTECTED]> wrote:
> >
> > Não sei se você vai chegar aos 100% de dias uteis, pois existem os
> > feriados
> > municipais por exemplo e até mesmo dias em que a empresa possa vir a não
> > trabalhar. Eu tive que fazer algo semelhante. Optei por fazer uma rotina
> > que
> > retornasse os sabados e domingos e o usuario indicasse manualmente quais
> > os
> > dias que não foram trabalhados.
> >
> > ----- Original Message -----
> > From: "Dickson Guedes" < [EMAIL PROTECTED]>
> > To: "Comunidade PostgreSQL Brasileira" <
> > [email protected]>
> > Sent: Wednesday, October 24, 2007 1:52 PM
> > Subject: Re: [pgbr-geral] Selecionando dias uteis durante determinado
> > periodo
> >
> >
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Daniel Falcão escreveu:
> > > Olá, (...) 03. Preciso saber justamente a quantidade de "dias úteis
> > > do mês", mesmo que o indivíduo não tenha comparecido em nenhum dia
> > > (por exemplo, dias úteis no mês de 09/2007 = 20, no mês 10/2007 =
> > > 23);
> > >
> > > PS: A função extract (DOW...) é bem interessante, estamos no
> > > caminho certo.
> > E o que fazer com os feriados? Você vai manter isso também de alguma
> > forma?
> >
> > [ ]s
> >
> > Guedes
> >
> >
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.2 (GNU/Linux)
> > Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
> >
> > iD8DBQFHH3hDfNj5A+QkLMoRAiMRAJ9+9FFauV56o8mju/iqA6ta5jAsOACdHlBA
> > SEu5peag4NbjFjXKLLXsZ0c=
> > =XK7k
> > -----END PGP SIGNATURE-----
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > [email protected]
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
>
>
>
> --
>
> Atenciosamente,
> Daniel Falcão
>



-- 

Atenciosamente,
Daniel Falcão
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a