← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

A função DECODE originalmente disponível nas instalações de bancos de dados Oracle pode, em consultas para o MS SQL Server e o MySQL, ser substituída pelo comando/função:

Gabarito: A

A função DECODE ficou muito conhecida no Oracle porque permite fazer uma comparação e devolver um resultado diferente para cada hipótese, quase como um "se isto, então aquilo" dentro da consulta. Em termos práticos, ela serve para montar lógica condicional de forma compacta, sem precisar escrever várias instruções separadas. Quando a questão fala em substituir DECODE no SQL Server e no MySQL, a ideia é justamente usar a estrutura equivalente de decisão dentro da própria query. Nessas plataformas, o recurso mais próximo e esperado pela banca é o CASE. Ele faz exatamente esse papel: avalia condições e retorna valores diferentes conforme o teste lógico. Por isso, quando a prova pede a substituição de DECODE, a resposta correta é CASE, que é a forma padrão e mais geral de escrever lógica condicional em SQL. Vale lembrar que o DECODE é um recurso associado ao Oracle, enquanto CASE é parte do SQL padrão e aparece nas principais implementações, inclusive MySQL e SQL Server. Ou seja, a lógica é: em vez de um comando específico de uma marca, você usa uma construção mais universal e compatível. Em provas da FGV, esse tipo de troca de função por equivalente costuma cair de modo bem direto. Se você enxergar a ideia de comparação com retorno alternativo, pense logo em CASE. O resto das alternativas tenta confundir com funções de tratamento de nulos, texto ou estruturas que não fazem esse papel.

Continue treinando

Questões relacionadas