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)
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 |