gracias por el análisis y la recomendación Daymel. 2017-05-15 12:07 GMT-05:00 Daymel Bonne Solís <daymelbo...@gmail.com>:
> Hola nuevamente Felix: > > El cálculo de diferencias entre fechas dados en meses y días es un poco > complicado, ya que los resultados pueden ser un poco confusos. > > Hay que tener en cuenta que la unidad meses no es una cantidad fija, si > hacemos el cálculo se puede deducir el resultado que arroja la ejecución de > select > AGE('01-05-2017','15-02-2017') > > Marzo (mes 03) tiene 31 dias > Abril (mes 04) tiene 30 dias > > Ahora, la diferencia en días entre las dos fechas se puede obtener de la > siguiente forma: > > dbonne=# select (extract(epoch from timestamptz '01-05-2017') - > extract(epoch from timestamptz '15-02-2017')) / 60 / 60 / 24; > ?column? > ---------- > 75 > (1 fila) > > Finalmente 75 - 61 = 14. Por eso el resultado son 2 meses y 14 días. > > Por otro lado, hay que tener especial cuidado con la función > justify_interval que menciona Diego, esta función maneja los intervalos de > meses de 30 días, por lo que: > > dbonne=# select justify_interval('30 days'); > justify_interval > ------------------ > 1 mon > (1 fila) > > dbonne=# select justify_interval('1 mon - 1 hour'); > justify_interval > ------------------ > 29 days 23:00:00 > (1 fila) > > Sin embargo: > > dbonne=# select justify_interval('31 days'); > justify_interval > ------------------ > 1 mon 1 day > (1 fila) > > Finalmente mi recomendación es uses siempre la diferencia en días. No > menciono por cierto, el problema que adiciona los usos horarios que tienen > Horario de Verano, ese es otro tema ;). > > Saludos. > > El 15 de mayo de 2017, 08:16, felix gonzales<jfgonza...@gmail.com> > escribió: > >> buen día lista, >> >> Necesito obtener años meses y días precisos. utilizando la función AGE >> tengo la dificultad que la primera y ultima linea me devuelve lo mismo, >> alguna alternativa? >> >> select AGE('29-04-2017','15-02-2017'); >> select AGE('30-04-2017','15-02-2017'); >> select AGE('01-05-2017','15-02-2017'); >> >> cualquier comentario bienvenido. >> >> -- >> Felix Gonzales >> >> > -- Felix Gonzales