Que sabes de GNU/Linux?

martes, 8 de diciembre de 2009

Postgrsql - Calcula edad con rango de fechas

Ejemplo de calculo de la edad con un rango de fechas desde hasta


-- Function: s_calcula_edad(timestamp without time zone)

-- DROP FUNCTION s_calcula_edad(timestamp without time zone);

CREATE OR REPLACE FUNCTION s_calcula_edad(fechanac timestamp without time zone)
RETURNS integer AS
$BODY$
DECLARE s_fecha VARCHAR(60);
DECLARE i_fecha INTEGER;
BEGIN

/*
Este procedimiento permite calcular la edad de una persona a partir de la fecha ingresada
*/

s_fecha := age(now(),fechanac);

If (s_fecha IS NULL) OR (s_fecha = '') Then
return -1; /*Error la fecha no es valida*/
End If;

/*
Recupero solamente la edad de la persona
*/
s_fecha := substring(s_fecha,1,strpos(s_fecha,' '));

i_fecha := rtrim(s_fecha);

RETURN i_fecha;
END
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION s_calcula_edad(timestamp without time zone) OWNER TO postgres;

No hay comentarios:

Publicar un comentario