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

Responder a