Estimado Francisco, me refiero a lo siguiente: primera linea: select AGE('29-04-2017','15-02-2017'); devuelve: 2 mons 14 days, lo cual es correcto si lo comparamos con un resultado hecho manualmente.
segunda linea: select AGE('30-04-2017','15-02-2017'); devuelve: 2 mons 15 days, es correcto. tercera linea: select AGE('01-05-2017','15-02-2017'); devuelve: 2 mons 14 days, *debería devolver: 2 mons 16 days* como se ha comentado, el resultado se debe a la variación de días que tiene cada mes. Respecto a "años meses y días precisos" me refiero a tener el resultado tan igual a ser calculado manualmente, por ello solicitaba sus comentarios para desarrollar alguna solución. 2017-05-15 12:15 GMT-05:00 Francisco Olarte <fola...@peoplecall.com>: > Felix: > > 2017-05-15 15:16 GMT+02:00 felix gonzales <jfgonza...@gmail.com>: > > 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? > > Dejando aparte algunas cosas que ya te han dicho, puedes definir "años > meses y dias precisos". > > > 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. > > Tu problema es el clasico cuando usas intervalos (age). El sistema > intenta ser de utilidad separandote años/meses y dias, pero como los > meses no son todos iguales te pasa eso. Si eres capaz de dar una > definicion exacta de lo que quieres igual se te puede dar una > solucion. Eso si, la definicion suele ser mucho mas dificil de dar de > lo que parece, yo no me fiaria de ninguna de menos de un par de folios > en tu caso. > > Porque postgres cree que te esta dando meses y dias precisos en ese > caso, y probablemente para su definision lo son. > > Francisco Olarte. > -- Felix Gonzales