Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Obtendo o resultado igual da aula / alterando a data

Tava aqui fazendo meus exercícios e não estava consiguindo obter os resultados igual da aula. O meu problema era que sempre retornava o mesmo resultado Paulo da Silva na seguinte query da aula:

select a.nome from aluno a where not exists 
(select m.id from matricula m where m.aluno_id = a.id 
and m.data < now() - interval 18 month);

Para obter os mesmos resultados que são:

João da Silva 
Renata Alonso
Paulo da Silva

Você precisa voltar no tempo. Vemos que o ano é 2013, então, faça as contas da data atual em meses.

No meu caso para a data 17/08/2018 foram 60 meses, obtendo o resultado igual da aula.

Outro assunto...

Como eu faço para alterar somente o ano da data?

1 resposta

Oi Paulo, tudo bom?

Você pode usar a função DATEADD do mysql para todos os registros da tabela aluno, algo como:

UPDATE aluno SET data = DATEADD(YEAR, -2, data);

Aqui você pode sugerir uma melhoria pra esse capitulo =)

Qualquer problema é só falar

Abraço