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

Responder a