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
ASUBSTRING(numeroProcesso, 14,2)
BSUBSTR(numeroProcesso, 15,2, 'LEFT')
CSUBSTR(numeroProcesso, 15,2)
DSUBSTRING(numeroProcesso, 4,2, 'RIGHT')
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.