jueves, 20 de octubre de 2011

Postgres - Hallar edad de una persona


Esta función te dará la edad de una persona entregándolo como parámetros dos fechas


CREATE OR REPLACE FUNCTION base.edad(dfecha_ini date, dfecha_fin date)
  RETURNS character varying AS
$BODY$

declare
cinterv varchar(50);
BEGIN
/* select base.edad(cast('1974-11-06'as date), cast('2009-02-11'as date)) */
cinterv:= (select age(dfecha_fin +1,dfecha_ini));
cinterv:= replace(cinterv, 'years','años');
cinterv:= replace(cinterv, 'year','año');

cinterv:= replace(cinterv, 'mons','meses');
cinterv:= replace(cinterv, 'mon','mes');

cinterv:= replace(cinterv, 'days','días');
cinterv:= replace(cinterv, 'day','día');

return cinterv;
   
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION base.edad(date, date) OWNER TO postgres;

No hay comentarios:

Publicar un comentario