Como fazer para calcular a idade corretamete

Delphi

03/11/2003

:?: Tenho uma tabela de clientes no meu banco de dados FIREBIRD que possui o campo DATA_NASCIMENTO (TIMESTAMP). Gostaria de saber como fazer para calcular a idade do cliente de forma mais correta possível. Eu fiz na linha da comando da select o seguinte:

SELECT (current_timestamp - data_nascimento)/365 AS idade
FROM clientes

O resultado que a SELECT me retorna como idade dá um número real com casas decimais do tipo 30.52363. Só que o valor que me retorna parece não ser tão preciso assim. Exemplo: Se o cliente nasceu em 30/11/1972 e hoje é 25/11/2003 o resultado já dá 31.0650 quando o correto seria somente 30 anos. Se eu criar um campo calculado dentro do Delphi tem como fazer um calculo mais preciso, por exemplo? Como eu faria isso?

Grato,
André


Andremelim

Andremelim

Curtidas 0

Respostas

Marcela

Marcela

03/11/2003

Tente desta forma:

procedure TForm1.Button2Click(Sender: TObject);
var
 sDataNasc : string;
 DataNasc,
 DataAtual : TDate;
 Idade     : Tdate;
begin
 sDataNasc  := ´30/11/1972´;  //data do banco

 DataNasc  := StrToDate(sDataNasc);
 DataAtual := now; //data atual

 Idade := (DataAtual - DataNasc);

 edit1.Text :=  FormatDateTime(´YY´, idade);
end;



GOSTEI 0
POSTAR