[Pgsql-ayuda] trabajo con fechas

Alvaro Herrera alvherre@dcc.uchile.cl
Mon, 9 Dec 2002 12:49:05 -0300


On Mon, Dec 09, 2002 at 10:20:19AM -0500, Ronald Serna wrote:

Hola,

> alguien podria ayudarme con las funciones de postgre para manejar 
> aritmetica de fechas, validar si es una fecha valida y como puedo 
> configurar para que me acepte solamentes el formato latino 
> dia/mes/anyo.

http://www.ca.postgresql.org/users-lounge/docs/7.3/postgres/datatype-datetime.html


Aritmetica de fechas con intervalos:

alvh=# select '1/1/1976'::date + '15 days'::interval;
        ?column?        
------------------------
 1976-01-16 00:00:00-03
(1 row)

alvh=# select '1/1/1976'::date + '15 months'::interval;
        ?column?        
------------------------
 1977-04-01 00:00:00-04
(1 row)


Validar fechas:

alvh=# select '2/29/1985'::date;
ERROR:  Bad date external representation '2/29/1985'
  --  Ojo que esto va a dejar en ABORTED STATE una transaccion en curso

alvh=# select '2/28/1985'::date;
    date    
------------
 1985-02-28
(1 row)


Lo del formato, puedes cambiar DATESTYLE:

alvh=# set datestyle to 'european';
SET VARIABLE
alvh=# select '2-3-1976'::date;
    date    
------------
 1976-03-02
(1 row)
lvh=# set datestyle to 'noneuropean';
SET VARIABLE
alvh=# select '2-3-1976'::date;
    date    
------------
 1976-02-03
(1 row)

(el formato de salida es yyyy-mm-dd)

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"El hombre nunca sabe de lo que es capaz hasta que lo intenta" (C. Dickens)