'1 year' = '360 days' ????

From: "Ricardo Perez Lopez" <ricpelo(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: '1 year' = '360 days' ????
Date: 2004-10-21 16:42:42
Message-ID: BAY15-F11Fk2H3b98Kt00007875@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Saludos a toda la lista.

Soy un principiante en PostgreSQL, que está actualmente liado aprendiendo
cómo funcionan las fechas, las horas, los timestamps y los intervalos.

El caso es que tengo tres preguntas que haceros:

PRIMERA:
--------------

Resulta que he comprobado que, para PostgreSQL, un año son 360 días:

SELECT '1 year'::timestamp = '360 days'::timestamp;

?column?
-------------
t

Me he quedado de piedra. Yo creía que un año eran 365 días, o 366 si es
bisiesto. ¿Es eso normal?

SEGUNDA:
---------------

Cuando quiero comprobar cuánto tiempo ha pasado entre dos fechas, tengo dos
opciones (que dan resultados diferentes):

SELECT '30-09-04'::timestamp - '30-09-03'::timestamp,
age('30-09-04'::timestamp, '30-09-03'::timestamp);

?column? | age
-------------------------------
@ 366 days | @ 1 year

Los resultados son diferentes, porque si los comparamos:

SELECT ('30-09-04'::timestamp - '30-09-03'::timestamp) =
age('30-09-04'::timestamp, '30-09-03'::timestamp);

?column?
--------------
f

Naturalmente, da falso, porque como digo en la primera pregunta, un año para
PostgreSQL consta de 360 días.

La pregunta es: ¿es ésto normal? ¿Cuál de los dos métodos es el correcto, o
el más adecuado? ¿Restar timestamps? ¿O usar la función age?

TERCERA:
--------------

Como comento en la segunda pregunta, cuando hago:

SELECT '30-09-04'::timestamp - '30-09-03'::timestamp;

el resultado es:

?column?
--------------
@ 366 days

La pregunta es: ¿no existe alguna manera de "normalizar" el resultado, de
forma que dijera:

@ 1 year 1 day

?

Me parece que sería más correcto "@ 1 year 1 day" que "@ 366 days". ¿No hay
alguna manera de conseguirlo?

Gracias a todos de antemano.

Ricardo.

_________________________________________________________________
Moda para esta temporada. Ponte al día de todas las tendencias.
http://www.msn.es/Mujer/moda/default.asp

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Lynkx 2004-10-21 17:02:41 Re: un subselect en un insert
Previous Message Gerry Valenzuela Astudillo 2004-10-21 16:00:57 Mensajes anteriores