Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FUNDATEC 2023

Banco de DadosOracle
Código
qq896739
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Desenvolvimento Oracle PL/SQL
NVL e NVL2 são funções que ORACLE disponibiliza para serem utilizadas nas consultas.Analise as assertivas abaixo e assinale a alternativa correta.I. NVL2(E1,E2) especifica que se E1 for nulo, a função retornará E2, caso contrário, retornará E1.II. NVL(E1,E2,E3) especifica que se E1 for nulo, a função retornará E3, caso contrário, retornará E2.III. NVL e NVL2 são usadas quando o valor de um campo de uma tupla pode retornar NULL.
  1. ATodas estão corretas.
  2. BTodas estão incorretas.
  3. CApenas I está correta.
  4. DApenas II está correta.
  5. EApenas III está correta.
Revelar gabarito e comentário

GabaritoE — Apenas III está correta.

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 NVL e NVL2 no Oracle

Gabarito: letra E. Apenas a assertiva III está correta. As funções NVL e NVL2 são de fato utilizadas para tratar valores NULL em consultas Oracle. As assertivas I e II contêm erros na sintaxe e no comportamento das funções.

Função

Sintaxe Correta

Comportamento

Assertiva I

Assertiva II

NVL

NVL(expr1, expr2)

Se expr1 for nulo, retorna expr2; senão, retorna expr1.

❌ Incorreta (descreveu NVL2 com 2 args)

❌ Incorreta (sintaxe com 3 args inexistente)

NVL2

NVL2(expr1, expr2, expr3)

Se expr1 não for nulo, retorna expr2; se for nulo, retorna expr3.

❌ Incorreta (descreveu NVL com 2 args)

❌ Incorreta (sintaxe com 3 args inexistente)

Uso geral

Substituir valores NULL em consultas.

Funções de tratamento de NULL
  • 1NVL (2 argumentos)
    • Se expr1 é nulo → retorna expr2
    • Se expr1 não é nulo → retorna expr1
  • 2NVL2 (3 argumentos)
    • Se expr1 não é nulo → retorna expr2
    • Se expr1 é nulo → retorna expr3
LEVEL · soulevel.com.br

Assertiva I — ❌ Incorreta

A assertiva afirma que NVL2(E1, E2) retorna E2 se E1 for nulo, caso contrário retorna E1. Na verdade, a função NVL2 exige três argumentos: NVL2(expr1, expr2, expr3). Se expr1 não for nulo, retorna expr2; se for nulo, retorna expr3. A descrição dada corresponde à função NVL, que possui apenas dois argumentos (NVL(expr1, expr2)) e retorna expr2 se expr1 for nulo.

Assertiva II — ❌ Incorreta

A assertiva descreve NVL(E1, E2, E3) com três argumentos. A função NVL possui apenas dois argumentos: NVL(expr1, expr2). Retorna expr2 se expr1 for nulo; caso contrário, retorna o próprio expr1. A sintaxe com três parâmetros não existe.

Assertiva III — ✅ Correta

De fato, NVL e NVL2 são empregadas para substituir valores nulos por um valor alternativo, sendo úteis quando um campo de uma tupla pode retornar NULL.

NÃO CAIA NESSA!

Decore as assinaturas: NVL(expr1, expr2) e NVL2(expr1, expr2, expr3). NVL tem 2 argumentos; NVL2 tem 3. Essa é a pegadinha mais comum.

Gabarito: letra E — apenas a assertiva III está correta.

Link permanente: /questoes/qq896739