[firebase-br] Ajuda com Select
Magno
magnoscosta em bol.com.br
Seg Mar 6 20:17:50 -03 2006
Será q isso te resolve?
function Idade(dtNasc:TDateTime) : String;
Type
Data = Record
Ano : Word;
Mes : Word;
Dia : Word;
End;
Const
Qdm:String = '312831303130313130313031';
Var
Dth : Data;
Dtn : Data;
anos, meses, dias, nrd : Shortint;
a,m,d: string;
begin
DecodeDate(Date,Dth.Ano,Dth.Mes,Dth.Dia);
DecodeDate(dtNasc,Dtn.Ano,Dtn.Mes,Dtn.Dia);
anos := Dth.Ano - Dtn.Ano;
if anos = 1 then
a := ' ano, '
else
a := ' anos, ';
meses := Dth.Mes - Dtn.Mes;
if meses < 0 then
begin
Dec(anos);
meses := meses+12;
end;
if meses = 1 then
m := ' mês e '
else
m := ' meses e ';
dias := Dth.Dia - Dtn.Dia;
if dias < 0 then
begin
nrd := StrToInt(Copy(Qdm,(Dth.Mes-1)*2-1,2));
if ((Dth.Mes-1)=2) and ((Dth.Ano Div 4)=0) then
begin
Inc(nrd);
end;
dias := dias+nrd;
meses := meses-1;
end;
if dias = 1 then
d := ' dia'
else
d := ' dias';
Result := IntToStr(anos)+ a +
IntToStr(meses) + m +
IntToStr(dias)+ d;
end;
Nao usei.. mas acho q o retorno é XX anos, XX Meses, XX dias... ok...
Vlw
Magno
----- Original Message -----
From: "Márcio" <marcioecruz em ig.com.br>
To: <lista em firebase.com.br>
Sent: Monday, March 06, 2006 7:35 PM
Subject: [firebase-br] Ajuda com Select
Sou iniciante com o Firebird, queria saber como retornar a idade baseado na
data de nascimento do cliente.
No Access e faria assim.
Select Codigo,Nome,((Date()-Nascimento)-365.25) As Idade From Cliente
[],s
Marcio
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista