Pular para o conteúdo principal

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

Banco de DadosOracle
Código
fc070250
Banca
FCC
Órgão
TRT - 18ª Região (GO)
Ano
2023
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Considere a expressão PL/SQL de um banco de dados Oracle 19 aberto e funcionando em condições ideais:CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 ENDA função equivalente a essa expressão é:
  1. ACOALESCE(expr1, expr2)
  2. BCHR(expr1, expr2)
  3. CCOMPOSE(expr1, expr2)
  4. DCOLLATION(expr1, expr2)
  5. ECOLLECT(expr1, expr2)
Revelar gabarito e comentário

GabaritoA — COALESCE(expr1, expr2)

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”.

PL/SQL: Funções de tratamento de nulos

Gabarito: letra A. A função COALESCE(expr1, expr2) retorna o primeiro argumento não nulo. Isso é exatamente o que a expressão CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END faz — se expr1 não for nulo, retorna expr1; caso contrário, retorna expr2. Portanto, a alternativa A é a correta.

A questão testa o conhecimento das funções nativas do Oracle para manipulação de valores nulos. A banca espera que o candidato reconheça o comportamento da função COALESCE, que é uma das funções mais comuns em SQL e PL/SQL para substituir CASE em casos simples de verificação de nulo.

Alternativa A — ✅ Correta ⟵ GABARITO

COALESCE é uma função de nível de SQL padrão (e Oracle) que retorna o primeiro valor não nulo da lista de argumentos. A implementação exata faz exatamente o mesmo que a expressão CASE fornecida: COALESCE(expr1, expr2) = CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END. É a equivalência direta.

Alternativa B — ❌ Incorreta

A função CHR é usada para converter um código ASCII em caractere. Exemplo: CHR(65) retorna 'A'. Não tem qualquer relação com verificação de nulos.

Alternativa C — ❌ Incorreta

COMPOSE é uma função usada para compor uma string Unicode a partir de uma sequência de caracteres. Por exemplo, COMPOSE('A' || UNISTR('\0300')) gera 'À'. Não é equivalente ao CASE.

Alternativa D — ❌ Incorreta

COLLATION retorna uma string de collation (ordenação) de um argumento. Exemplo: COLLATION('abc') retorna o collation da sessão. Nada a ver com tratamento de nulos.

Alternativa E — ❌ Incorreta

COLLECT é uma função de agregação que coleta valores em uma coleção (como um array). Não serve para substituir o CASE com verificação de nulo.

NÃO CAIA NESSA!

A banca lista funções com prefixo "CO" (COALESCE, CHR, COMPOSE, COLLATION, COLLECT) para confundir: o candidato que não conhece bem as funções pode achar que todas são variações de funções de agregação ou manipulação. A chave é lembrar que COALESCE é a única que lida com valores nulos (NULL-handling). Decore o significado de cada uma: COALESCE = "crescer juntos" (primeiro não nulo); CHR = caracter; COMPOSE = combinar caracteres; COLLATION = ordenação; COLLECT = coleção.

Gabarito: letra A.

Link permanente: /questoes/fc070250