Questão nº 35
Questão de Tecnologia da Informação · FCC TRT18 2022 (nº 35)
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 END`
A função equivalente a essa expressão é:
- A`COALESCE(expr1, expr2)` (alternativa correta)
- B`CHR(expr1, expr2)`
- C`COMPOSE(expr1, expr2)`
- D`COLLATION(expr1, expr2)`
- E`COLLECT(expr1, expr2)`
Resposta comentada
Gabarito Alternativa A
A expressão `CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END` verifica se `expr1` possui um valor (não é nulo); se sim, retorna `expr1`, caso contrário, retorna `expr2`. O objetivo é sempre obter o primeiro valor não nulo de uma lista de opções.
(A) Correta: A função `COALESCE(expr1, expr2)` retorna o primeiro de seus argumentos que não é nulo, o que é exatamente o comportamento da expressão `CASE` fornecida.
(B) Incorreta: `CHR(n)` é uma função que retorna o caractere correspondente ao valor ASCII ou Unicode `n`. Não tem relação com a verificação de valores nulos ou escolha entre expressões. Armadilha da banca: Pode ser tentador para quem confunde com outras funções de string ou não conhece a finalidade específica de `CHR`, que lida com códigos numéricos de caracteres.
(C) Incorreta: `COMPOSE(string)` é uma função de normalização de caracteres Unicode, combinando caracteres base e caracteres combinatórios. Não se aplica à lógica de `NULL` ou escolha de expressões.
(D) Incorreta: `COLLATION(string)` retorna a ordenação (collation) de uma string, que define regras de comparação e classificação. Não tem a ver com a manipulação de valores nulos.
(E) Incorreta: `COLLECT(expr)` é uma função agregada que coleta uma série de itens em um tipo de coleção (como uma tabela aninhada ou VARRAY). Não se relaciona com a verificação de `NULL` ou a seleção condicional de expressões.
Fonte: FCC TRT18 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.