Re: [pgbr-geral] [RESOLVIDO] Função para defin ir dada como dia ÚTIL, SABADO, DOMINGO e/ou F ERIADO

2009-02-05 Por tôpico Fernando França
Gostaria de agradecer a você Newton por retornar essa solução, e ao
Luiz pela ajuda que te deu.
A ajuda de ambos também será muito útil pra mim.

Um abraço.

--
Fernando França
Linux User #263682

CMAS/CBPDS *
DAN #2058378

http://desconstruindo.eng.br
http://www.cbpf.br/~lsd
http://www.rnp.br/keyserver/pks/lookup?search=0xD41D2910

Esta mensagem, incluindo seus anexos, contém informações legais
privilegiadas e/ou confidenciais, não podendo ser retransmitida,
arquivada,divulgada ou copiada sem autorização do remetente. Caso
tenha recebido esta mensagem por engano, por favor informe o remetente
respondendo imediatamente a este e-mail, e em seguida apague-a do seu
computador.

All information in this e-mail and attachments is confidential and
privileged. If you are not the intended addressee, please notify us
immediately by returning this e-mail and delete this message from your
computer. You should not forward, file, copy nor disclose this e-mail
to any other person without prior authorization.



2009/2/3 Newton Teixeira do Nascimento Júnior
:
> Muito obrigado Luiz pela ajuda. Eis a função que fiz :
>
>
>
> CREATE OR REPLACE FUNCTION Categoria_Dia(data date) RETURNS character
> varying(10) AS
>
> $BODY$
>
> DECLARE
>
> dia integer;
>
> resultado character varying(10);
>
> BEGIN
>
>
>
> dia = extract(dow from data);
>
>
>
> if resultado = 0 then -- se o dia for um domingo
>
> resultado = 'DOMINGO';
>
> elseif resultado = 6 then -- se o dia for um sabado
>
> resultado = 'SABADO';
>
> elseif EXISTS (SELECT * FROM "FERIADOS" AS X WHERE X.data = data) then -- se
> o dia for um feriado
>
> resultado = 'FERIADO';
>
> else -- trata-se de um dia útil
>
> resultado = 'DIA UTIL';
>
> end if;
>
>
>
> return resultado;
>
>
>
> END; $BODY$
>
> language 'plpgsql';
>
>
>
> SELECT Categoria_Dia(CURRENT_DATE);
>
>
>
> Existe a tabela Feriados que tem a relação dos feriados do ano:
>
>
>
> CREATE TABLE "FERIADOS"
>
> (
>
>   data date NOT NULL,
>
>   descricao character varying(50) NOT NULL,
>
>   CONSTRAINT "pk-feriados" PRIMARY KEY (data, descricao)
>
> )
>
>
>
> Um grande abraço a todos. Att.
>
>
>
> Newton Teixeira do Nascimento Junior
>
> Analista de Sistemas - CMAO
>
> Centrais Elétricas do Norte do Brasil S/A - Eletronorte
> Av. dos Jequitibás, s/nº - Cohebe do Sacavém
> São Luís-MA - 65043-380
>
> Tel: 3217-5006 / 81330104
> e-mail: newton.jun...@eletronorte.gov.br
>
>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] [RESOLVIDO] Função para defin ir dada como dia ÚTIL, SABADO, DOMINGO e/ou F ERIADO

2009-02-03 Por tôpico Newton Teixeira do Nascimento Júnior
Muito obrigado Luiz pela ajuda. Eis a função que fiz :

 

CREATE OR REPLACE FUNCTION Categoria_Dia(data date) RETURNS character 
varying(10) AS

$BODY$

DECLARE

dia integer;

resultado character varying(10);

BEGIN

 

dia = extract(dow from data);

 

if resultado = 0 then -- se o dia for um domingo

resultado = 'DOMINGO';

elseif resultado = 6 then -- se o dia for um sabado

resultado = 'SABADO';

elseif EXISTS (SELECT * FROM "FERIADOS" AS X WHERE X.data = data) then -- se o 
dia for um feriado

resultado = 'FERIADO';

else -- trata-se de um dia útil

resultado = 'DIA UTIL';

end if;

 

return resultado;

 

END; $BODY$ 

language 'plpgsql';

 

SELECT Categoria_Dia(CURRENT_DATE);

 

Existe a tabela Feriados que tem a relação dos feriados do ano:

 

CREATE TABLE "FERIADOS"

(

  data date NOT NULL,

  descricao character varying(50) NOT NULL,

  CONSTRAINT "pk-feriados" PRIMARY KEY (data, descricao)

)

 

Um grande abraço a todos. Att.

 

Newton Teixeira do Nascimento Junior

Analista de Sistemas - CMAO

Centrais Elétricas do Norte do Brasil S/A - Eletronorte
Av. dos Jequitibás, s/nº - Cohebe do Sacavém
São Luís-MA - 65043-380

Tel: 3217-5006 / 81330104
e-mail: newton.jun...@eletronorte.gov.br

 

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral