Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FCC 2020

Banco de DadosPL-SQL
Código
fc058919
Banca
FCC
Órgão
AL-AP
Ano
2020
Cargo
Analista Legislativo - Desenvolvedor de Banco de Dados
No SQL Server (T-SQL) e no Oracle (PL/SQL), para converter um valor nulo para um valor numérico real, utilizam-se, respectivamente, as funções:
  1. ANVL e ISNULL.
  2. BAVG e NVL.
  3. CISNULL e NULL.
  4. DISNULL e NVL.
  5. ENULLIF e COALESCE.
Revelar gabarito e comentário

GabaritoD — ISNULL e NVL.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Funções para conversão de nulos: ISNULL (SQL Server) e NVL (Oracle)

Gabarito: letra D. No SQL Server (T-SQL), a função ISNULL(expressão, valor_substituto) retorna o valor substituto quando a expressão é nula. No Oracle (PL/SQL), a função correspondente é NVL(expressão, valor_substituto). As demais alternativas trocam os nomes ou utilizam funções inadequadas.

A banca testa o conhecimento das funções específicas de cada SGBD para tratar valores nulos. Tanto ISNULL quanto NVL convertem um valor nulo em um valor numérico (ou de qualquer tipo) fornecido como segundo argumento.

NÃO CAIA NESSA!

É comum inverter as funções: achar que no SQL Server usa-se NVL e no Oracle ISNULL. A letra A inverte exatamente os nomes. Grave: I de ISnull para InSQL (SQL Server) e N de NVL para No Oracle (Oracle).

Funções de conversão de nulo
  • 1SQL Server (T-SQL)
    • ISNULL(expr, substituto)
  • 2Oracle (PL/SQL)
    • NVL(expr, substituto)
  • 3Outras funções
    • COALESCE
      • Retorna 1º não nulo da lista
    • NULLIF
      • Retorna nulo se dois valores iguais
    • AVG
      • Função de agregação (média)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Troca as funções: informa NVL para SQL Server e ISNULL para Oracle. O correto é o inverso: ISNULL no T-SQL e NVL no PL/SQL.

Alternativa B — ❌ Incorreta

AVG é uma função de agregação que calcula a média, não converte nulos. Não se aplica ao contexto.

Alternativa C — ❌ Incorreta

NULL não é uma função, e sim um valor especial. Não existe função NULL em nenhum dos SGBDs para conversão de nulos.

Alternativa D — ✅ Correta ⟵ GABARITO

Correta: ISNULL (SQL Server) e NVL (Oracle) são as funções nativas para substituir um valor nulo por um valor real.

Alternativa E — ❌ Incorreta

NULLIF retorna nulo se dois valores são iguais, e COALESCE retorna o primeiro não nulo de uma lista. Embora COALESCE também substitua nulos, a questão pede as funções específicas de cada SGBD para conversão de um valor nulo em um valor numérico real – e o par tradicional é ISNULL/NVL. Além disso, a ordem "respectivamente" exige ISNULL para SQL Server e NVL para Oracle, o que não ocorre aqui.

Gabarito: letra D

Link permanente: /questoes/fc058919