Pular para o conteúdo principal

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

Banco de DadosOracle
Código
fc038589
Banca
FCC
Órgão
TRF - 5ª REGIÃO
Ano
2017
Nível
Superior
Cargo
Analista Judiciário - Informática Desenvolvimento
O Departamento de Recursos Humanos de uma instituição solicitou ao Analista de Sistemas um relatório mostrando o nome do funcionário e o salário acrescido de 13.5%. O salário deverá ser expresso como número inteiro e com a seguinte legenda de coluna: Salário Reajustado. Considerando que a tabela funcionarios possui os campos nome e salario, para gerar o relatório o Analista deverá usar, em um banco de dados Oracle aberto e em condições ideais, a instrução
  1. ASELECT nome, TOINT(ROUND(salario * 1.135)) 'Salário Reajustado ' FROM funcionarios;
  2. BSELECT nome, INTEGER(salario * 1.135) 'Salário Reajustado' FROM funcionarios;
  3. CSELECT nome, ROUND(salario * 1.135, 0) "Salário Reajustado" FROM funcionarios;
  4. DSELECT nome, TRUNCATE(salario + 13.5%, 0) "Salário Reajustado" FROM funcionarios;
  5. ESELECT FROM funcionarios (nome, ROUND(salario * 1.135, 0) "Salário Reajustado");
Revelar gabarito e comentário

GabaritoC — SELECT nome, ROUND(salario * 1.135, 0) "Salário Reajustado" FROM funcionarios;

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

Comandos SELECT no Oracle: arredondamento e alias

Gabarito: letra C. A consulta correta deve usar a função ROUND com dois argumentos para arredondar para inteiro (ROUND(salario * 1.135, 0)) e empregar aspas duplas para o alias da coluna, pois no Oracle aliases com espaços ou caracteres especiais exigem aspas duplas. A alternativa C atende exatamente a esses requisitos.

A banca testa o conhecimento de funções de arredondamento e sintaxe de alias no Oracle. Todas as demais alternativas apresentam erros de função inexistente, sintaxe inválida ou operação incorreta.

Alternativa

Comando SELECT

Função de Arredondamento

Alias (Legenda)

Correto?

A

SELECT nome, TOINT(ROUND(salario * 1.135)) 'Salário Reajustado ' FROM funcionarios;

TOINT (inexistente no Oracle)

Aspas simples (inválido para alias com espaço)

B

SELECT nome, INTEGER(salario * 1.135) 'Salário Reajustado' FROM funcionarios;

INTEGER (inexistente no Oracle)

Aspas simples (inválido)

C

SELECT nome, ROUND(salario * 1.135, 0) "Salário Reajustado" FROM funcionarios;

ROUND(..., 0) (correto)

Aspas duplas (correto)

D

SELECT nome, TRUNCATE(salario + 13.5%, 0) "Salário Reajustado" FROM funcionarios;

TRUNCATE (inexistente; correto é TRUNC) e 13.5% (inválido)

Aspas duplas (correto)

E

SELECT FROM funcionarios (nome, ROUND(salario * 1.135, 0) "Salário Reajustado");

ROUND(..., 0) (correto)

Aspas duplas (correto)

❌ (sintaxe geral inválida)

Alternativa A — ❌ Incorreta

A função TOINT não existe no Oracle SQL. O correto é usar ROUND(..., 0) ou TRUNC(..., 0). Além disso, o alias foi delimitado por aspas simples ('Salário Reajustado '), o que não é aceito pelo Oracle para aliases com espaços — o correto são aspas duplas ou a palavra-chave AS.

Alternativa B — ❌ Incorreta

INTEGER não é uma função válida no Oracle. Para converter para inteiro, utiliza-se ROUND, TRUNC, FLOOR ou CEIL. O alias novamente usa aspas simples, incorreto.

Alternativa C — ✅ Correta ⟵ GABARITO

A expressão ROUND(salario * 1.135, 0) multiplica o salário por 1,135 (acréscimo de 13,5%) e arredonda para zero casas decimais, resultando em um número inteiro. O alias "Salário Reajustado" está delimitado por aspas duplas, conforme exige o Oracle para aliases com espaços. A sintaxe do SELECT está perfeita.

Alternativa D — ❌ Incorreta

TRUNCATE não é uma função Oracle — o correto é TRUNC. O uso de 13.5% não é uma expressão válida em SQL; o percentual deve ser convertido em multiplicador (1.135). Mesmo corrigindo a função, a operação estaria errada (somar 13,5% não equivale a multiplicar por 1,135).

Alternativa E — ❌ Incorreta

A sintaxe está completamente equivocada: SELECT FROM funcionarios (nome, ...) não é válido. A lista de colunas deve vir entre SELECT e FROM, e não entre parênteses depois de FROM.

PEGA ESSA DICA!

No Oracle, para arredondar um número para inteiro, use ROUND(coluna, 0). Lembre-se sempre de usar aspas duplas em aliases que contenham espaços ou caracteres especiais. Para acréscimos percentuais, multiplique por (1 + percentual/100) — neste caso, 13,5% equivale a multiplicar por 1,135.

Gabarito: letra C

Link permanente: /questoes/fc038589