Pular para o conteúdo principal

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

Banco de DadosSQL
Código
fc057234
Banca
FCC
Órgão
TJ-MA
Ano
2019
Cargo
Analista Judiciário - Analista de Sistemas - Desenvolvimento
Em um banco de dados aberto e em condições ideais, um Analista deseja selecionar e exibir apenas a primeira letra do nome da tabela colaboradores usando T-SQL. Para isso, terá que utilizar o comando:
  1. ASELECT SUBSTRING(nome, 1, 1) FROM colaboradores;
  2. BSELECT SUBSTR (nome, 0, 1) FROM colaboradores;
  3. CSELECT SUBSTRING(LEFT(nome, 0, 1)) FROM colaboradores;
  4. DSELECT SUBSTR (nome, 1, 0) FROM colaboradores;
  5. ESELECT SUBSTRING(LEFT(nome, 1, 0) FROM colaboradores;
Revelar gabarito e comentário

GabaritoA — SELECT SUBSTRING(nome, 1, 1) FROM colaboradores;

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

T-SQL: Função SUBSTRING

Gabarito: letra A. No T-SQL (SQL Server), a função para extrair parte de uma string é SUBSTRING(string, início, comprimento), com índice inicial = 1. Assim, SELECT SUBSTRING(nome, 1, 1) FROM colaboradores retorna a primeira letra de cada nome.

A banca explora dois erros típicos: (1) confundir SUBSTRING (T-SQL) com SUBSTR (Oracle/MySQL) e (2) usar índice 0 ou comprimento 0. Vamos a cada alternativa:

SUBSTRING (T-SQL)
  • 1Sintaxe correta
    • SUBSTRING(string, início, comprimento)
    • Índice inicial = 1
    • Exemplo: SUBSTRING(nome, 1, 1)
  • 2Erros comuns
    • SUBSTR (Oracle/MySQL)
    • Índice 0
    • Comprimento 0
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

SUBSTRING(nome, 1, 1) — sintaxe e índices corretos no T-SQL. Retorna exatamente o primeiro caractere.

Alternativa B — ❌ Incorreta

SUBSTR (nome, 0, 1) — dois erros: (a) SUBSTR não é função do T-SQL (é de Oracle/MySQL); (b) o índice inicial é 1 no T-SQL, não 0. Mesmo que fosse SUBSTRING, o índice 0 causaria erro.

Alternativa C — ❌ Incorreta

SUBSTRING(LEFT(nome, 0, 1))LEFT no T-SQL recebe dois argumentos (LEFT(string, num_caracteres)). A sintaxe apresentada com três argumentos é inválida. Além disso, a chamada aninhada não faz sentido lógico.

Alternativa D — ❌ Incorreta

SUBSTR (nome, 1, 0) — novamente uso de SUBSTR e, mesmo que fosse SUBSTRING, o comprimento 0 retornaria uma string vazia, não o primeiro caractere.

Alternativa E — ❌ Incorreta

SELECT SUBSTRING(LEFT(nome, 1, 0) ... — parêntese não fechado e LEFT com sintaxe errada (três argumentos). A instrução está mal formada.

NÃO CAIA NESSA!

A banca explora a diferença entre SUBSTRING (T-SQL) e SUBSTR (Oracle/MySQL), além do índice inicial (1 no T-SQL vs 0 em outras linguagens). Memorize: no SQL Server, use SUBSTRING(string, início, comprimento) e lembre-se que o início conta a partir de 1.

Gabarito: letra A.

Link permanente: /questoes/fc057234