Questão nº 38
Questão de Tecnologia da Informação · FCC TRE-PR 2017 (nº 38)
Em um banco de dados aberto e em condições ideais, uma tabela processo possui um campo NumeroProcesso do tipo varchar2. Para selecionar somente os registros cujo campo NumeroProcesso possua como segundo caractere (da esquerda para a direita), o valor 2, utiliza-se a instrução `SELECT * FROM processo WHERE NumeroProcesso`
- A`CONTAINS(1, '2');`
- B`LIKE '*2%';`
- C`CONTAINS LEFT(2, '2');`
- D`LIKE '_2%';` (alternativa correta)
- E`CONTAINS '_2%'`
Resposta comentada
Gabarito Alternativa D
O operador LIKE em SQL é usado para encontrar padrões específicos em textos. Ele utiliza dois caracteres especiais, chamados wildcards: o _ (underscore) representa qualquer caractere único, e o % (sinal de porcentagem) representa qualquer sequência de zero ou mais caracteres.
- (A) Incorreta:
CONTAINSnão é um operador padrão SQL para busca de padrões comoLIKE. Ele é usado em sistemas de busca de texto completo e sua sintaxe é diferente. - (B) Incorreta: O caractere
*não é um wildcard válido para o operadorLIKEno SQL padrão. A armadilha da banca aqui é usar um wildcard comum em outros contextos (como sistemas de arquivos ou outras linguagens de programação) para confundir o aluno sobre os wildcards específicos do SQL (_e%). - (C) Incorreta:
CONTAINSé um operador incorreto para essa finalidade.LEFT(2, '2')é uma função de manipulação de string e não se encaixa na sintaxe de busca de padrões doLIKEouCONTAINS. - (D) Correta: O
_(underscore) representa qualquer caractere único. Então,_corresponde ao primeiro caractere. O2corresponde ao segundo caractere literal '2'. E o%(porcentagem) corresponde a qualquer sequência de zero ou mais caracteres após o '2'. Assim,_2%seleciona exatamente os registros cujo segundo caractere é '2'. - (E) Incorreta: O operador
CONTAINSestá incorreto. Embora o padrão_2%seja o correto para a busca, o operadorCONTAINSnão é o apropriado para essa operação em SQL padrão.
Fonte: FCC TRE-PR 2017 Técnico Judiciário - Área Apoio Especializado - Especialidade Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.