A seguinte função para o banco de dados Postgresql permite calcular a Diferença em Anos entre duas datas:
-- Function: public."func_Data_Diferenca_Anos"(date)
-- DROP FUNCTION public."func_Data_Diferenca_Anos"(date);
CREATE OR REPLACE FUNCTION public."func_Data_Diferenca_Anos"("in_Data" date)
RETURNS integer AS
$BODY$
DECLARE
iAnoAtual integer;
iAnoData integer;
iMesAtual integer;
iMesData integer;
iDiaAtual integer;
iDiaData integer;
iDifAnos integer;
iDifMeses integer;
BEGIN
iAnoAtual=EXTRACT(year from CURRENT_DATE);
iAnoData=EXTRACT(year from $1);
iMesAtual=EXTRACT(month from CURRENT_DATE);
iMesData=EXTRACT(month from $1);
iDiaAtual=EXTRACT(day from CURRENT_DATE);
iDiaData=EXTRACT(day from $1);
iDifAnos=iAnoAtual-iAnoData;
IF (iMesAtual < iMesData) THEN
iDifAnos=iDifAnos-1;
END IF;
RETURN iDifAnos;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION public."func_Data_Diferenca_Anos"(date)
OWNER TO postgres;
Comentários
Postar um comentário