INFORMAR Mulheres c/ ou = a 40 anos que completem aniv...
22/05/2003
0
Oi,
Colegas!!
Preciso de uma instrução em SQL que mim retorne todas as mulheres de meu cadastro de clintes que tenham 40 anos ou completem ainda neste ano(data atual).
Tenho um cadastro com nome, data_nascimento, sexo, etc....
Fico muito grato à que mim ajudar.
Um Abraço,
Erivando
´E através de meus erros que encontro meus acertos.´ (Erivando Ramos)
Colegas!!
Preciso de uma instrução em SQL que mim retorne todas as mulheres de meu cadastro de clintes que tenham 40 anos ou completem ainda neste ano(data atual).
Tenho um cadastro com nome, data_nascimento, sexo, etc....
Fico muito grato à que mim ajudar.
Um Abraço,
Erivando
´E através de meus erros que encontro meus acertos.´ (Erivando Ramos)
Erivando
Curtir tópico
+ 0
Responder
Posts
22/05/2003
Jeancamila
Uma função que calcula idade de uma pessoa:
function IdadeAtual(Nasc : TDate): Integer;
Var AuxIdade, Meses : String;
MesesFloat : Real;
IdadeInc, IdadeReal : Integer;
begin
AuxIdade := Format(´¬0.2f´, [(Date - Nasc) / 365.6]);
Meses := FloatToStr(Frac(StrToFloat(AuxIdade)));
if AuxIdade = ´0´ then
begin
Result := 0;
Exit;
end;
if Meses[1] = ´-´ then
begin
Meses := FloatToStr(StrToFloat(Meses) * -1);
end;
Delete(Meses, 1, 2);
if Length(Meses) = 1 then
begin
Meses := Meses + ´0´;
end;
if (Meses <> ´0´) And (Meses <> ´´) then
begin
MesesFloat := Round(((365.6 * StrToInt(Meses)) / 100) / 30.47)
end
else
begin
MesesFloat := 0;
end;
if MesesFloat <> 12 then
begin
IdadeReal := Trunc(StrToFloat(AuxIdade)); // + MesesFloat;
end
else
begin
IdadeInc := Trunc(StrToFloat(AuxIdade));
Inc(IdadeInc);
IdadeReal := IdadeInc;
end;
Result := IdadeReal;
end;
e/ou
select *
from cliente
where (sexo = ´F´ and extract (year from nascimento) = 2003-40)
Não testei!
function IdadeAtual(Nasc : TDate): Integer;
Var AuxIdade, Meses : String;
MesesFloat : Real;
IdadeInc, IdadeReal : Integer;
begin
AuxIdade := Format(´¬0.2f´, [(Date - Nasc) / 365.6]);
Meses := FloatToStr(Frac(StrToFloat(AuxIdade)));
if AuxIdade = ´0´ then
begin
Result := 0;
Exit;
end;
if Meses[1] = ´-´ then
begin
Meses := FloatToStr(StrToFloat(Meses) * -1);
end;
Delete(Meses, 1, 2);
if Length(Meses) = 1 then
begin
Meses := Meses + ´0´;
end;
if (Meses <> ´0´) And (Meses <> ´´) then
begin
MesesFloat := Round(((365.6 * StrToInt(Meses)) / 100) / 30.47)
end
else
begin
MesesFloat := 0;
end;
if MesesFloat <> 12 then
begin
IdadeReal := Trunc(StrToFloat(AuxIdade)); // + MesesFloat;
end
else
begin
IdadeInc := Trunc(StrToFloat(AuxIdade));
Inc(IdadeInc);
IdadeReal := IdadeInc;
end;
Result := IdadeReal;
end;
e/ou
select *
from cliente
where (sexo = ´F´ and extract (year from nascimento) = 2003-40)
Não testei!
Responder
Clique aqui para fazer login e interagir na Comunidade :)