1
resposta

[Projeto] Resolução- Calcular a idade com base na data de nascimento

Minha consulta sql ficou assim:

select nome, 
  Cast((Julianday('now') - Julianday(datanascimento)) / 365.25 as int)
as Idade
from TabelaClientes 

Tentei levar em conta os dias, meses e anos.
Aqui, usei o JULIANDAY para transformar a data em um número decimal que representa o total de dias. O código subtrai os dois valores obtidos e, apenas depois, divide por 365.25. O .25 é usado para levar em conta a ocorrência dos anos bissextos. Por último, o CAST "corta" as casas decimais do resultado, deixando apenas a idade inteira da pessoa.

Obs: A data pega pelo 'now' é 01-05-2026.

1 resposta

Ei! Tudo bem, Talita?

Sua resolução para o cálculo de idade no SQL ficou excelente, parabéns pelo domínio da lógica!

O uso do 365.25 para compensar os anos bissextos dentro do SQLite é uma técnica muito inteligente e precisa para evitar distorções no resultado a longo prazo.

Como você já está dominando essas funções de data, já pensou em como faria para filtrar apenas os clientes que fazem aniversário no mês atual?

Material Complementar
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.

Continue se dedicando aos estudos e qualquer dúvida conte conosco.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!