agora vai:
create or replace function dias_nummes(mes integer,ano integer) returns
varchar as
$$
declare
retorno integer;
ano_ integer;
mes_ integer;
begin
if (mes=12) then
ano_:=ano+1;
mes_ := mes;
else
ano_:=ano;
mes_:=mes+1;
end if;
retorno := extract(day from cast( ano_||'-'||(mes_)||'-1' as date)-1);
return retorno ;
end;
$$ language 'plpgsql';
select dias_nummes(3,2006);
select dias_nummes(2,2006);
select dias_nummes(12,2008);
Rodrigo Hjort escreveu:
> Hmm, e funcionará para Dezembro?
>
> 2006/12/5, Iannsp <[EMAIL PROTECTED]>:
>> Essa é minha proposta para o problema de quantidade de dias:
>> create or replace function dias_nummes(mes integer,ano integer) returns
>> varchar as
>> $$
>> declare
>> retorno integer;
>> begin
>> retorno := extract(day from cast( ano||'-'||(mes+1)||'-1' as date)-1);
>> return retorno ;
>> end;
>> $$ language 'plpgsql';
>> exemplos:
>> select dias_nummes(3,2006);
>> =31
>> select dias_nummes(2,2006);
>> =28
>> select dias_nummes(2,2008);
>> =29
>>
>
--
Ivo Nascimento
Iann tech - Desenvolvendo soluções com performance e segurança
http://www.ianntech.com.br
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios