1
resposta

SOLUÇÃO

SELECT NOME, DATA_DE_NASCIMENTO,
CASE
    WHEN YEAR(DATA_DE_NASCIMENTO) <= 1990 THEN 'VELHAÇO'
    WHEN YEAR(DATA_DE_NASCIMENTO) > 1990 AND YEAR(DATA_DE_NASCIMENTO) <= 1995 THEN 'JOVENCITOS'
    ELSE 'JUST A BABY' END AS 'COMO TA A LATARIA'
FROM tabela_de_clientes
ORDER BY DATA_DE_NASCIMENTO DESC;
1 resposta

Oi, William! Tudo bem?

Peço desculpas pela demora em retornar.

Parabéns pela resolução do exercício!

O único ponto de atenção é acerca dos intervalos de tempo. Para um cliente ser considerado “velhaço”, é necessário que ele tenha nascido em um ano inferior a 1990 — logo, ao invés do sinal de menor ou igual (<=) em YEAR(DATA_DE_NASCIMENTO) <= 1990, utilizaremos apenas o sinal de menor (<), desta forma:

WHEN YEAR(DATA_DE_NASCIMENTO) < 1990 THEN 'VELHAÇO'

Além disso, para um cliente pertencem à categoria “jovencitos”, seu ano de nascimento precisa ser de 1990 a 1995, intervalo que inclui seus extremos (1990 e 1995), assim como os valores intermediários (1991, 1992, 1993 e 1994). Para isso, teremos que adicionar o sinal de igual (=) em YEAR(DATA_DE_NASCIMENTO) > 1990, chegando neste resultado:

WHEN YEAR(DATA_DE_NASCIMENTO) >= 1990 AND YEAR(DATA_DE_NASCIMENTO) <= 1995 THEN 'JOVENCITOS'

Por fim, após todas essas alterações, a nossa consulta ficará assim:

SELECT NOME, DATA_DE_NASCIMENTO,
CASE
    WHEN YEAR(DATA_DE_NASCIMENTO) < 1990 THEN 'VELHAÇO'
    WHEN YEAR(DATA_DE_NASCIMENTO) >= 1990 AND YEAR(DATA_DE_NASCIMENTO) <= 1995 THEN 'JOVENCITOS'
    ELSE 'JUST A BABY' END AS 'COMO TA A LATARIA'
FROM tabela_de_clientes
ORDER BY DATA_DE_NASCIMENTO DESC;

William, continue se dedicando nos estudos e, se surgir alguma dúvida, estarei aqui para te ajudar.

Até mais!