Re: [Pgsql-ayuda] operaciones con fechas

From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Fernando Papa <fpapa(at)claxson(dot)com>
Cc: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [Pgsql-ayuda] operaciones con fechas
Date: 2003-03-14 21:37:46
Message-ID: 20030314213746.GD3468@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Fri, Mar 14, 2003 at 04:39:43PM -0300, Fernando Papa wrote:

> En oracle, si yo resto 2 fechas me devuelve un numero, su parte entera
> es la cantidad de dias que hay entre las dos fechas. Pero en
> postgresql, si resto 2 fechas me devuelve un tipo de dato "interval"
> que no se como manejarlo, o mejor dicho, como convertirlo a numerico.
> Concretamente, yo tengo una fecha de nacimiento y necesito saber la
> edad de la persona, con lo cual le resto el now() a la fecha de
> nacimiento... si estuviera en oracle, la diferencia la divido por 365
> y tengo los años... pero en postgres me un tipo de dato interval... no
> se como hacerlo.

Usa extract():

alvh=> select extract(days from now() - '1976-10-28') / 365.25;
?column?
------------------
26.3737166324435
(1 row)

o age():

alvh=> select age('1976-10-28'::date);
age
-------------------------------
26 years 4 mons 17 days 01:00
(1 row)

O combinalos:

alvh=> select extract(years from age('1976-10-28'::date));
date_part
-----------
26
(1 row)

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La realidad se compone de muchos sueños, todos ellos diferentes,
pero en cierto aspecto, parecidos..." (Yo, hablando de sueños eróticos)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Manuel Infante Ruiz 2003-03-17 07:57:54 [Pgsql-ayuda] Cygwin vs PostgreSQL
Previous Message Fernando Papa 2003-03-14 19:39:43 [Pgsql-ayuda] operaciones con fechas