Questão de Banco de Dados — Oracle — FUNDATEC 2023
Banco de Dados›Oracle
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.
ATodas estão corretas.
BTodas estão incorretas.
CApenas I está correta.
DApenas II está correta.
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.