3
respostas

[Dúvida] Consulta 3: Buscar apenas os alunos que fazem aniversário em fevereiro.

Ola

Tentei resolver essa questao de duas formas

1 - SELECT nome_aluno, STRFTIME ('%m', data_nascimento) FROM Alunos;

Aqui ele torna todos os meses.

2 - SELECT nome_aluno, data_nascimento FROM Alunos WHERE data_nascimento LIKE '%02%';

Aqui ele retorna os dois de fevereiro e um de abril. Essa foi a resposta mais proxima que encontrei.

Se deixar o Like '02%' = ele nao retorna nenhum valor.

Like '%02' = ele retorna o de abril.

Ha alguma sugestao para resolvermos essa questao.

Obrigada, Claudia

3 respostas

Oii, Cláudia! Tudo bem?

Você está indo muito bem, parabéns!

A aborgagem que usou com a função STRFTIME é boa, porém faltou aplicar um filtro para selecionar apenas os registros de Fevereiro.

Como sugestão, você pode fazer isso adicionando uma cláusula WHERE para verificar se o mês extraído é igual a '02', que representa fevereiro. Por exemplo:

SELECT nome_aluno, data_nascimento
FROM Alunos
WHERE STRFTIME('%m', data_nascimento) = '02';

Captura de tela da consulta dita anteriormente no SQLite Online, com o retorno de aniversariantes do mês de fevereiro.

O problema com o uso do LIKE é que ele não é muito preciso para datas, pois pode capturar registros incorretos, como você nos trouxe.

Espero que dê certinho quando você realizar os testes. Qualquer dúvida, conte conosco.

Bons estudos, Claudia!

Ola! Muito obrigada por sua ajuda.

Fiz conforme abaixo:

SELECT nome_aluno, data_nasc_aluno
FROM Alunos
WHERE STRFTIME ('%m', data_nasc_aluno) = '02';

Ele roda, mas nao da retorno no console.

Claudia

Oii, Cláudia! Tudo bem?

O seu código possui uma pequena diferença no nome coluna data_nascimento, pois você adicionou como data_nasc_aluno.

Então, como sugestão, recomendo que verifique se o nome está correto, como data_nasc_aluno mesmo. E, também, realize o teste com data_nascimento para sabermos se terá o retorno.

SELECT nome_aluno, data_nascimento
FROM Alunos
WHERE STRFTIME('%m', data_nascimento) = '02';

Espero que dê certo! Fico à disposição.