El 20 de mayo de 2009 10:05, Miguel Angel <mvillago...@sayab.com.mx>escribió:

> El mié, 20-05-2009 a las 09:54 -0500, Julio Cesar Rodriguez Dominguez
> escribió:
> > Podrias hacer uso de la función age, pero antes tienes que convertir
> > tus fechas para ponerlas al dia de inicio del mes, por ejemplo:
> >
> > postg...@test[localhost]=# select age(date '2009-01-01', date
> > '2008-12-01');
> >   age
> > -------
> >  1 mon
> > (1 fila)
> >
> > postg...@test[localhost]=# select age(date '2010-01-01', date
> > '2008-12-01');
> >      age
> > --------------
> >  1 year 1 mon
> > (1 fila)
> >
> > postg...@test[localhost]=# select age(date '2009-02-01', date
> > '2008-12-01');
> >   age
> > --------
> >  2 mons
> > (1 fila)
> >
> > postg...@test[localhost]=# select age(date '2011-05-01', date
> > '2008-02-01');
> >       age
> > ----------------
> >  3 years 3 mons
> > (1 fila)
> >
> > Solo faltaria hacer la converisión de años a meses.
>
> Muchas gracias por la ayuda, yo creo que con esto ya puedo hacerlo
> perfectamente, solo trabajaré en la conversión de años a meses, gracias
> a todos.
>
>
quedaria algo asi:
postg...@test[localhost]=# select extract(years from age(date '2011-05-01',
date '2008-02-01')) * 12 +
extract(months from age(date '2011-05-01', date '2008-02-01'));

Saludos.

Responder a