Oi, Brenda, tudo bem?
Realmente, a função JULIANDAY retorna a diferença em dias, e dividir por 365 pode não ser a forma mais precisa, por conta dos anos bissextos.
Como alternativa, você pode usar a função strftime para extrair o ano atual e o ano de nascimento e, em seguida, subtrair um do outro. Aqui está um exemplo de como você pode fazer isso:
SELECT nome_aluno, data_nascimento,
(strftime('%Y', 'now') - strftime('%Y', data_nascimento)) - 
  (strftime('%m-%d', 'now') < strftime('%m-%d', data_nascimento)) AS idade
FROM Alunos;
No código acima:
- strftime('%Y', 'now')obtém o ano atual.
- strftime('%Y', data_nascimento)obtém o ano de nascimento.
- A subtração básica entre os anos dá uma estimativa inicial.
- A expressão (strftime('%m-%d', 'now') < strftime('%m-%d', data_nascimento))verifica se o aluno já fez aniversário este ano. Se não fez, subtrai um ano da idade.
Espero ter ajudado.
Qualquer dúvida, compartilhe no fórum.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!