se eu entendi bem não é só

select current_date - '12 months'::interval

2010/4/28 Thiago <[email protected]>

> Galera, bom dia.
>
> Sempre que eu preciso fazer um incremento em um campo data utilizo -/+
> interval '1 month', por exemplo, não sei fazer isso de outra forma, e
> estou tentando fazer um loop de para percorrer os ultimos 12 meses e da
> seguinte forma está dando erro:
>
> for vint 1..12 loop
>    vdat := cast('01/' || cast(p_mes as text) || '/' || cast(p_ano as
> text) as date);
>
>    vano := cast(to_char(vdat - 'interval ' || cast(vint as text) || '
> month','mm') as text);
> end loop;
>
> Dessa forma está apresentando o seguinte erro:
>
> Error: "ERROR:  invalid input syntax for type date: "interval "
> CONTEXT:  SQL statement "SELECT  cast(to_char( $1  - 'interval ' ||
> cast( $2  as text) || ' month','yyyy') as text)"
> PL/pgSQL function "sp_com_grand_ultimos_doze_meses_new" line 20 at
> assignment"
>
> Alguém saberia se tem alguma forma de fazer isso.
>
> Obrigado.
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
[ ]'s
Shairon Toledo
http://www.google.com/profiles/shairon.toledo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a