logotipo Blog Giovani Da Cruz
Banco de Dados

Como Calcular a Idade no SQL usando Firebird

2 min de leitura · publicado em 12/05/2025 62 visualizações

Como Calcular a Idade no SQL usando Firebird

Em projetos onde armazenamos a data de nascimento de pessoas, como sistemas escolares, clínicas ou CRMs, é comum precisar exibir a idade com base nessa data. No Firebird SQL, é possível calcular a idade diretamente na query usando a função DATEDIFF.

 

🧠 Por que calcular a idade no SQL?

Calcular a idade diretamente no SQL evita a necessidade de tratar a informação na aplicação, o que:

  • Reduz código na camada de negócio;
  • Melhora a performance quando exibido em listas;
  • Facilita o uso em relatórios dinâmicos.

 

🔍 Exemplo de Consulta SQL

Suponha que você tenha uma tabela chamada aluno com os campos codigo e data_nascimento. O seguinte SQL retorna a idade de cada aluno com precisão:

SELECT
  codigo,
  data_nascimento,
  DATEDIFF(YEAR, data_nascimento, CURRENT_DATE)
    - CASE
        WHEN EXTRACT(MONTH FROM data_nascimento) > EXTRACT(MONTH FROM CURRENT_DATE)
             OR (
                  EXTRACT(MONTH FROM data_nascimento) = EXTRACT(MONTH FROM CURRENT_DATE)
                  AND EXTRACT(DAY FROM data_nascimento) > EXTRACT(DAY FROM CURRENT_DATE)
                )
        THEN 1
        ELSE 0
      END AS idade
FROM
  aluno;

 

🛠️ Como funciona?

  • DATEDIFF(YEAR, data_nascimento, CURRENT_DATE) calcula a diferença bruta de anos.
  • O CASE verifica se a pessoa já fez aniversário este ano. Se ainda não, subtrai 1 da diferença.

 

🧪 Exemplo Prático

Código Data de Nascimento Idade
1001 2000-10-15 24
1002 1995-01-20 30
1003 2010-12-05 14

 

📈 Quando usar esse cálculo

  • Em telas de cadastro de alunos, pacientes ou clientes;
  • Em relatórios estatísticos de faixas etárias;
  • Em filtros dinâmicos, como “exibir apenas maiores de 18 anos”.

 

💬 Conclusão

Calcular a idade diretamente no SQL usando Firebird torna seu sistema mais inteligente e limpo. Essa é uma prática recomendada especialmente para sistemas que lidam com informações de pessoas. O melhor: você evita retrabalho e deixa a base de dados fazer o que sabe melhor.

Esse cálculo é compatível com Firebird 2.5+, e garante que a idade esteja correta mesmo que o aniversário ainda não tenha sido completado este ano.

🔗 Compartilhe com colegas que trabalham com bancos de dados Firebird ou Delphi — essa dica pode economizar várias linhas de código!

 

 

📢 Gostou da dica?

Compartilhe nas suas redes sociais e marque quem precisa ver isso!

 

 

📎 #SQL #Firebird #BancoDeDados #Desenvolvimento

#Sistemas #ERP #Delphi #Programação #GiovaniDaCruz

 

Deixe um comentário

Seu e-mail não será publicado.