[firebase-br] Calcular idade
Nivaldo Martins
nivaldomart em gmail.com
Seg Nov 2 16:22:30 -03 2009
Olá Humberto,
Tente isto:
cria uma procedure que recebe a data atual e a data de nascimento como
parâmetros e retorna um smallint
/*****************************************************************************************************/
/** Obtem o resultado em anos simples apenas subtraindo o ano atual do ano
de nascimento **/
/*****************************************************************************************************/
result = extract(year from dataAtual) - extract(year from dataNascimento);
/*****************************************************************************************************/
/** Ajusta a idade verificando se a pessoa já fez aniversario ou
não **/
/**
**/
/** se estiver nomês de aniversário verifica se já
passou **/
/*****************************************************************************************************/
if (extract(month from dataAtual) = extract(year month dataAtual)) then
begin
/*************************************************************************************************/
/** Se o dia da data atual for maior significa que ainda não fez
aniversário e deve ter a soma **/
/** anterior
decrementada
**/
/** Supondo que um nascido em 2000 a variavel result estaria com 2009 -
2000 = 9 anos, mas se **/
/** o dia do aniversário não chegou significa que tem 8
anos **/
/*************************************************************************************************/
if ( extract(day from dataAtual) > extract(day from dataAtual)) then
begin
result = result - 1;
end
end
/*****************************************************************************************************/
/** Se o mês da data atual for maior que o mês de nascimento significa que o
aniversário ainda não **/
/** e que a idade deve ser
decrementada **/
/*****************************************************************************************************/
if (extract(month from dataAtual) > extract(year month dataAtual)) then
begin
result = result - 1;
end
suspend;
end
Sds,
Nivaldo Martins
6º Semestre SI 2009.2
Unijorge
Salvador - BA
2009/11/2 Humberto Araujo <humberto701 em gmail.com>
> Como calcular a idade via sql?
> tenho o campo datanasc
> tabela membros
>
> --
> Sds.
>
> Humberto Filho
>
> (88) 8825-4164
> (88) 9275-0052
> (88) 3523-8885
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista