Re: Incrementar campo de tipo date.

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Carlos Agustín López Avila <cagustinla(at)gmail(dot)com>
Cc: PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Incrementar campo de tipo date.
Date: 2009-12-03 19:42:58
Message-ID: 20091203194258.GL5059@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Carlos Agustín López Avila escribió:

> Siguiendo a Lennin así me quedo:
> create table pato (
> fecha date,
> anios int2,
> meses int2,
> dias int2
> );
> insert into pato (date('2009-12-31'), 1, 2,3);
> select * from pato
> where (fecha + (anios || ' years')::interval + (meses || '
> month')::interval + (dias || ' days')::interval) < current_date
> from tabla;

En realidad esta no es una muy buena manera de hacerlo porque tienes que
convertir las cosas a text, concatenar, y luego pasar el resultado por
un cast a interval antes de hacer las operaciones. Muchas operaciones
de sobra. Es mejor así:

select * from pato where
fecha + anios * '1 year'::interval
+ meses * '1 month'::interval
+ dias * '1 day'::interval
< current_date

De esta forma no hay ninguna conversión a texto.

--
Alvaro Herrera Vendo parcela en Valdivia: http://alvherre.cl/caboblanco
"Hay que recordar que la existencia en el cosmos, y particularmente la
elaboración de civilizaciones dentro de él no son, por desgracia,
nada idílicas" (Ijon Tichy)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-12-03 19:49:10 Re: Montar tablespace existente
Previous Message Alvaro Herrera 2009-12-03 19:37:23 Re: ayuda con pg_top