Nelson Pereira Júnior escreveu:
> Olá,
>  
> Dentro de uma função PLPGSQL, tenho uma variável datahora. Como faço 
> para retornar apenas a data dessa variável, incrementando 1 mês na data, 
> levando em consideração que se a data for 20/12/06 deverá retornar 
> 20/01/07, e que se for 31/01/06 deverá retornar 28/02/06.
>  

Veja:
http://www.postgresql.org/docs/8.1/interactive/functions-datetime.html

bdteste=# SELECT current_timestamp;
               now
-------------------------------
  2006-11-01 15:11:13.123585-03
(1 registro)

bdteste=# SELECT current_timestamp::date;
     now
------------
  2006-11-01
(1 registro)

bdteste=# SELECT current_date + interval '1 month';
       ?column?
---------------------
  2006-12-01 00:00:00
(1 registro)

bdteste=# SELECT '2006-12-20'::date + interval '1 month';
       ?column?
---------------------
  2007-01-20 00:00:00

bdteste=# SELECT '2007-01-31'::date + interval '1 month';
       ?column?
---------------------
  2007-02-28 00:00:00
(1 registro)

[]s
Osvaldo

                
_______________________________________________________ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com
_______________________________________________
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

Responder a