Dimas, Veja se esta função escrita em Delphi te ajuda ai.
function MostraIdade(dData : tDateTime = 0 ; dDataAtual : tDateTime = 0 ) : string ; var iAnoIdade, iMesIdade, iDiaIdade, iAnoAtual, iMesAtual, iDiaAtual : Integer; iAno, iMes, iDia : Integer; begin iAnoIdade := 0; iMesIdade := 0; iDiaIdade := 0; if dData>0 then begin If dDataAtual<1 then dDataAtual := now; iAnoAtual := StrToIntDef(FormatDateTime('yyyy',dDataAtual),0); iMesAtual := StrToIntDef(FormatDateTime('mm',dDataAtual),0); iDiaAtual := StrToIntDef(FormatDateTime('dd',dDataAtual),0); iAno := StrToIntDef(FormatDateTime('yyyy',dData),0); iMes := StrToIntDef(FormatDateTime('mm',dData),0); iDia := StrToIntDef(FormatDateTime('dd',dData),0); iAnoIdade := iAnoAtual - iAno; If ((iMesAtual<iMes) or ((iMesAtual=iMes) and (iDiaAtual<iDia)) ) then iAnoIdade := iAnoIdade - 1; If (iMesAtual<iMes) then iMesIdade := 12-(iMes-iMesAtual) else if (iMesAtual>iMes) then begin iMesIdade := iMesAtual-iMes; If (iDiaAtual<iDia) then iMesIdade := iMesIdade - 1; end; If (iDiaAtual<iDia) then iDiaIdade := iDiaAtual else iDiaIdade := iDiaAtual - iDia; end; Result := IntToStr(iAnoIdade)+' ano(s) '+ IntToStr(iMesIdade)+' mes(es) '+ IntToStr(iDiaIdade)+' dia(s)'; end; Sucesso !! Moacir Em 31/03/2010 09:28, Dimas escreveu: > Oi pessoal > > Trabalho com FireBird 1.5 e Delphi 7. > > Preciso fazer um Select de uma tabela de pessoas e um dos campos de retorno > precisa ser a idade da pessoa. (exemplo: 4 anos , 5 meses ) > > Na minha tabela eu tenho a data de nascimento. > > Agradeço sugestões. > > Obrigado. > > > > > ------------------------------------ > >