RE: Edad en años

From: Javier Bermúdez Tito <javier_bt(at)hotmail(dot)com>
To: Oscar Cano <oscarcanorodriguez(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Edad en años
Date: 2007-12-24 16:46:33
Message-ID: BAY129-W2839F2F23137B1924CD7E685590@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


Hola Oscar haber si te sirve hice mi propia funcion para obtener entre algunas cosas tambien la edad de una persona, o el numero de años transcurridos entre un rango de fechas.
OJO version de postgres es 8.2

CREATE OR REPLACE FUNCTION fu_obtener_edad(in pd_fecha_ini DATE, in pd_fecha_fin DATE, out pn_edad INTEGER) AS
$BODY$
BEGIN
pn_edad := FLOOR(((DATE_PART('YEAR',pd_fecha_fin)-DATE_PART('YEAR',pd_fecha_ini))* 372 + (DATE_PART('MONTH',pd_fecha_fin) - DATE_PART('MONTH',pd_fecha_ini))*31 + (DATE_PART('DAY',pd_fecha_fin)-DATE_PART('DAY',pd_fecha_ini)))/372);
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

select * from fu_obtener_edad('21/11/1980','20/11/2007')

puedes ejecutarlo de dos formas como la linea anterior o como tu lo estas utilizando

SELECT fu_obtener_edad(f_nace,CURRENT_DATE) as edad FROM candidato WHERE id=119

suerte haber si te sirve en algo saludos..

.:: J @ v i e r ::.

Date: Mon, 24 Dec 2007 09:43:17 -0600From: oscarcanorodriguez(at)gmail(dot)comTo: pgsql-es-ayuda(at)postgresql(dot)orgSubject: Re: [pgsql-es-ayuda] Edad en añosMil gracias a todos, finalmente quedo conSELECT date_part('year',age(f_nace)) as edad FROM candidato WHERE id=119
2007/12/23, Espartano < espartano(dot)mail(at)gmail(dot)com>:
El 23/12/07, Oscar Cano < oscarcanorodriguez(at)gmail(dot)com> escribió:> Pero date_part o extrac, me dan la parte de una fecha, ¿como puedo calcular> la edad en años cumplidos?>-_- pues tienes que aplicar el date_part al resultado de age. --"Linux is for people who hate Windows, BSD is for people who love UNIX"."Social Engineer -> Because there is no patch for human stupidity""The Unix Guru's View of Sex unzip ; strip ; touch ; grep ; finger ; mount ; fsck ; more ; yes ; umount ; sleep.""Documentation is like sex: when it is good, it is very, very good;and when it is bad, it is better than nothing."-- Oscar Cano RodríguezPLD Consultores
_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jesus Armando Paul Cespedes 2007-12-24 18:37:32 backup pg_dumpall
Previous Message Oscar Cano 2007-12-24 15:43:17 [TLM] Re: Edad en años