1
resposta

[Dúvida] Dúvida: Consulta 4: Realizar uma consulta que calcula a idade dos Alunos.

Por estar tratando de manipulação de datas, seria melhor usar o comando abaixo ou a resolução proposta é a melhor opção Sugestão:

SELECT nome_aluno,data_nascimento, julianday('now') - julianday(data_nascimento) AS Idade FROM Alunos;

Resolução:

SELECT nome_aluno,
data_nascimento,
strftime('%Y', CURRENT_DATE) - strftime('%Y', data_nascimento) AS idade
FROM Alunos;
1 resposta

Oii, Cristian! Tudo bem?

Você trouxe uma questão interessante, manipular datas pode ser desafiador, mas também podemos ver uma oportunidade de explorar diferentes contextos nas consultas.

A sugestão disponibilizada, usa o strftime para extrair o ano da data atual e da data de nascimento, subtraindo-os para obter a idade. O que é válido, especialmente quando estamos interessados apenas na diferença de anos completos entre as datas.

Na sua sugestão, usar julianday é outra maneira válida de calcular a idade, convertendo as datas para um formato juliano e subtraindo-as. Porém, essa abordagem retorna a diferença em dias, então seria necessário um ajuste adicional para convertê-la em anos, o que pode ser complicado considerando anos bissextos e variações nos meses.

Então, ambas são boas sugestões e a escolha vai depender do contexto que está inserido e da prática técnica também.

Continue assim, você está indo muito bem! Caso tenha outras dúvidas, compartilhe no fórum para te auxiliarmos.

Bons estudos, Cristian!