Fórum Calcular idade numa Procedure #38853
19/09/2003
0
Rafael_sangalli
Curtir tópico
+ 0Posts
19/09/2003
Tio Frank
VAR
varIDADE: INTEGER;
DIA1, DIA2, MES1, MES2, ANO1, ANO2: WORD;
BEGIN
IF DT_NASC.TEXT <> ´ / / ´ THEN
BEGIN
DECODEDATE(DATE, ANO1, MES1, DIA1);
DECODEDATE(DT_NASC.DATE, ANO2, MES2, DIA2);
varIDADE := ANO1 - ANO2;
IF MES2 < MES1 THEN
IDADE.TEXT := INTTOSTR(varIDADE)
ELSE
BEGIN
IF ((MES2 = MES1) AND (DIA2 <= DIA1)) THEN
IDADE.TEXT := INTTOSTR(varIDADE)
ELSE
IDADE.TEXT := INTTOSTR(varIDADE - 1);
END;
END;
end;
Gostei + 0
19/09/2003
Rafael_sangalli
Gostei + 0
19/09/2003
Afarias
create procedure pr_idade_clientes returns (nome varchar(30), idade integer) as
declare variable AnoNasc Integer;
declare variable MesNasc Integer;
declare variable DiaNasc Integer;
declare variable Ano Integer;
declare variable Mes Integer;
declare variable Dia Integer;
declare variable vDataNasc Date;
begin
Ano = extract(year from current_date);
Mes = extract(month from current_date);
Dia = extract(day from current_date);
for select Nome, DataNasc from Clientes into :Nome, :vDataNasc do
begin
AnoNasc = extract(year from vDataNasc);
MesNasc = extract(month from vDataNasc);
DiaNasc = extract(day from vDataNasc);
Idade = Ano - AnoNasc;
if ((MesNasc < Mes) or ((MesNasc = Mes) and (DiaNasc < Dia))) then
Idade = Idade - 1;
suspend;
end
end^
<< é uma idéia >>
T+
Gostei + 0
20/09/2003
Rafael_sangalli
Gostei + 0
23/07/2008
Powerlog Tecnologia
set term ^; create procedure pr_idade_clientes returns (nome varchar(30), idade integer) as declare variable AnoNasc Integer; declare variable MesNasc Integer; declare variable DiaNasc Integer; declare variable Ano Integer; declare variable Mes Integer; declare variable Dia Integer; declare variable vDataNasc Date; begin Ano = extract(year from current_date); Mes = extract(month from current_date); Dia = extract(day from current_date); for select Nome, DataNasc from Clientes into :Nome, :vDataNasc do begin AnoNasc = extract(year from vDataNasc); MesNasc = extract(month from vDataNasc); DiaNasc = extract(day from vDataNasc); Idade = Ano - AnoNasc; if ((Mes< MesNasc) or ((MesNasc = Mes) and (Dia < DiaNasc))) then Idade = Idade - 1; suspend; end end^
Valeu
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)