Questão nº 57
Questão de Tecnologia da Informação · FCC TRT2 2018 (nº 57)
Para criar uma consulta que pesquise na tabela `Trabalhadores` de um banco de dados aberto e em condições ideais todos os nomes e telefones de trabalhadores cujos nomes sejam Sofia ou Sophia, um Analista de Sistemas deve utilizar a instrução PL/SQL `SELECT nome, telefone FROM Trabalhadores WHERE`
- A
REGEXP_LIKE (nome, '^So(f|ph)ia\$');(alternativa correta) - B
nome ='^So(f|ph)ia\$'; - C
nome CONTAINS('^So(f|ph)ia\$'); - D`nome REGEXP('%So(f|ph)ia%');`
- E`REGEXP(nome, '%So(f|ph)ia%');`
Resposta comentada
Gabarito Alternativa A
Expressões regulares são padrões de texto poderosos usados para encontrar e manipular strings. Em SQL, funções específicas permitem usar esses padrões para filtrar dados, como REGEXP_LIKE no PL/SQL (Oracle).
- (A) Correta: A função
REGEXP_LIKEé a forma padrão e correta no PL/SQL (Oracle) para realizar buscas usando expressões regulares. O padrão^So(f|ph)ia$busca por strings que comecem (^) com "So", seguidas por "f" ou (|) "ph", e terminem ($) com "ia", cobrindo exatamente "Sofia" e "Sophia". - (B) Incorreta: O operador
=realiza uma comparação exata de strings, não interpretando a expressão como um padrão regular. Ele buscaria nomes que fossem literalmente^So(f|ph)ia\$. - (C) Incorreta:
CONTAINSé uma função para busca de texto completo (Oracle Text) e não interpreta a string como uma expressão regular no formato desejado. Além disso, requer um índice de texto. - (D) Incorreta:
REGEXPnão é um operador padrão no PL/SQL (Oracle) para expressões regulares com essa sintaxe. O caractere%é um curinga do operadorLIKE, não de expressões regulares. Armadilha da banca: Esta alternativa tenta misturar a sintaxe deLIKE(%) com a ideia de expressões regulares (REGEXP), o que é um erro comum. - (E) Incorreta:
REGEXPnão é a função correta para expressões regulares no PL/SQL (Oracle); a função correta éREGEXP_LIKE. Além disso, o caractere%é um curinga do operadorLIKE, não de expressões regulares.
Fonte: FCC TRT2 2018 Analista Judiciário - Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.