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)