[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