Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2017

Banco de DadosSQL
Código
fc037991
Banca
FCC
Órgão
TRE-PR
Ano
2017
Nível
Médio
Cargo
Técnico Judiciário - Programação de Sistemas
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
  1. ACONTAINS(1, '2');
  2. BLIKE ' *2%';
  3. CCONTAINS LEFT(2, '2');
  4. DLIKE '_2%';
  5. ECONTAINS '_2%'
Revelar gabarito e comentário

GabaritoD — LIKE '_2%';

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

SQL: operador LIKE e curingas

Gabarito: letra D. Em SQL, para selecionar registros cujo segundo caractere de um campo seja exatamente '2', usa-se o operador LIKE com o padrão '_2%': o underscore (_) representa um único caractere qualquer na primeira posição, o '2' é o segundo caractere, e o % corresponde a qualquer sequência de zero ou mais caracteres após. O operador LIKE é o único entre as alternativas que realiza casamento de padrão com curingas.

O operador CONTAINS (alternativas A, C, E) é utilizado para busca de texto completo (full-text) e não aceita a sintaxe com curingas como _ e %. Além disso, CONTAINS(1, '2') e CONTAINS LEFT(2, '2') não são comandos SQL válidos para essa finalidade.

  1. 1_ (1º caractere qualquer)
  2. 22 (2º caractere fixo)
  3. 3% (restante qualquer)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

CONTAINS(1, '2') não é uma função SQL padrão para buscar padrão em string. A sintaxe correta para casamento de padrão é LIKE, não CONTAINS.

Alternativa B — ❌ Incorreta

LIKE ' *2%' usa um asterisco (*) que não é curinga no SQL. O curinga para um caractere é _; o % representa zero ou mais caracteres, mas o asterisco não tem significado no LIKE.

Alternativa C — ❌ Incorreta

CONTAINS LEFT(2, '2') mistura duas funções de forma inválida. LEFT é uma função de string que extrai caracteres da esquerda, mas não faz parte do operador CONTAINS. Além disso, CONTAINS não é adequado para esse tipo de busca.

Alternativa D — ✅ Correta

LIKE '_2%' é a expressão correta: o primeiro underscore _ casa com qualquer caractere (posição 1), o '2' é o segundo caractere, e o % casa com qualquer sequência restante (posições 3 em diante). Satisfaz exatamente a condição pedida.

Alternativa E — ❌ Incorreta

CONTAINS '_2%' embora pareça usar curingas, o operador CONTAINS não interpreta _ e % como curingas. Eles seriam tratados como literais (procuraria por underscore e porcento no texto), além de não ser a função apropriada.

NÃO CAIA NESSA!

A banca tenta confundir o candidato oferecendo variações do operador CONTAINS (que não é o correto) e um padrão com asterisco (*2%) que não é curinga do SQL. O aluno deve lembrar que o curinga para exatamente um caractere é o underscore (_), e para qualquer quantidade é o %, ambos usados exclusivamente com o operador LIKE.

Gabarito: letra D — a única que emprega corretamente o operador LIKE com o padrão '_2%'.

Link permanente: /questoes/fc037991