Skip site navigation (1) Skip section navigation (2)

'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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group