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)
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
    (envía "unregister TuDirecciónDeCorreo" a majord...@postgresql.org)

Responder a