Fórum Como fazer para calcular a idade corretamete #192422

03/11/2003

0

:?: 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

Responder

Posts

03/11/2003

Marcela

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;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar