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: | [TLM] RE: Edad en años |
Date: | 2007-12-24 16:46:33 |
Message-ID: | 20071224164835.AC17F414281@qatlm3.calidad2.pandasoftware.com |
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
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 |