Pular para o conteúdo principal

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

Banco de DadosSQL
Código
fc020491
Banca
FCC
Órgão
MPE-PB
Ano
2015
Nível
Superior
Cargo
Analista de Sistemas – Administrador de Banco de Dados
Considere que todos os números de processo tenham 20 dígitos na tabela Envolvimento. Dos 20 dígitos, 2 caracteres do número dos processos representam o número do Tribunal. Por exemplo, no processo de número 78654310020118150675 o número do Tribunal é 15. Ao ser executada uma instrução SQL, foram exibidos os seguintes dados: cpfEnvolvido Tribunal tipo_envolvimento 128.249.039-14 26 Acusador 158.245.067-12 15 AcusadorA instrução digitada foi: SELECT cpfEnvolvido, ...I... Tribunal, tipo_envolvimento FROM Envolvimento WHERE tipo_envolvimento='Acusador'; A lacuna I é preenchida corretamente por
  1. ASUBSTRING(numeroProcesso, 14,2)
  2. BSUBSTR(numeroProcesso, 15,2, 'LEFT')
  3. CSUBSTR(numeroProcesso, 15,2)
  4. DSUBSTRING(numeroProcesso, 4,2, 'RIGHT')
  5. ESUBSTR(numeroProcesso, 14,2)
Revelar gabarito e comentário

GabaritoC — SUBSTR(numeroProcesso, 15,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”.

Função SUBSTRING/SUBSTR em SQL

Gabarito: letra C. A função SUBSTR(numeroProcesso, 15,2) extrai corretamente os 2 dígitos do número do tribunal a partir da 15ª posição (1-indexed), conforme o exemplo: os dígitos 15 e 16 formam "15". As demais alternativas erram a posição inicial ou usam sintaxe inválida.

A questão testa o conhecimento da sintaxe das funções de substring e a correta indexação (base 1) comum em bancos relacionais.

Alternativa A — ❌ Incorreta

SUBSTRING(numeroProcesso, 14,2) inicia na posição 14, extraindo os dígitos 14 e 15 (no exemplo, "81"). O tribunal começa na posição 15, não 14.

Alternativa B — ❌ Incorreta

SUBSTR(numeroProcesso, 15,2, 'LEFT') usa um terceiro argumento 'LEFT' que não faz parte da sintaxe padrão da função SUBSTR. Funções de substring aceitam no máximo dois argumentos (início e comprimento) ou, em alguns bancos, um terceiro opcional de contagem, mas não uma string como 'LEFT'.

Alternativa C — ✅ Correta ⟵ GABARITO

SUBSTR(numeroProcesso, 15,2) é a sintaxe correta. Extrai 2 caracteres a partir da posição 15 (1-indexed), que contém o número do tribunal (no exemplo, "15").

Alternativa D — ❌ Incorreta

SUBSTRING(numeroProcesso, 4,2, 'RIGHT') erra duplamente: começa na posição 4 (muito antes) e usa argumento 'RIGHT' que não é reconhecido pela função SUBSTRING padrão.

Alternativa E — ❌ Incorreta

SUBSTR(numeroProcesso, 14,2) inicia na posição 14, obtendo os dígitos 14 e 15 ("81" no exemplo), quando deveria começar na posição 15.

PEGA ESSA DICA!

Em SQL, a indexação de caracteres geralmente começa em 1 (1-indexed). Verifique a documentação do banco, mas para a maioria (Oracle, MySQL, SQL Server) é 1. Posicione o start corretamente contando a partir do primeiro caractere.

Gabarito: letra C.

Link permanente: /questoes/fc020491