Pular para o conteúdo principal

Questão de Banco de Dados — SQL — Quadrix 2023

Banco de DadosSQL
Código
qg025999
Banca
Quadrix
Órgão
CREA-GO
Ano
2023
Nível
Superior
Cargo
Analista de Área - T.I

Imagem da questão

Com base no modelo de dados e no código SQL acima apresentados, julgue o item.Na linha 4, a função TRUNC tem como objetivo remover o número especificado de dígitos dos valores numéricos.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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 TRUNC no Oracle SQL

Gabarito: CERTO (letra C). A função TRUNC no Oracle, quando aplicada a um valor numérico, remove a parte fracionária (casas decimais) ou trunca o número em um ponto especificado, sem arredondar. No código, TRUNC(NVL(ec.nota, 0), 3) trunca a nota para 3 casas decimais, o que confirma a afirmação do enunciado.

A função TRUNC é uma função numérica do Oracle que serve para truncar (cortar) um número em um número específico de casas decimais. Diferente da função ROUND, que arredonda o valor, o TRUNC simplesmente descarta os dígitos além do ponto de truncamento, sem qualquer arredondamento. Por exemplo, TRUNC(3.14159, 2) retorna 3.14, enquanto ROUND(3.14159, 2) retornaria 3.14 (mas ROUND(3.145, 2) retornaria 3.15).

No contexto da consulta, a linha 4 usa TRUNC(NVL(ec.nota, 0), 3). O NVL substitui valores nulos por 0, e o TRUNC com o argumento 3 trunca o valor da nota para 3 casas decimais. Isso é útil para padronizar a precisão dos dados exibidos, garantindo que todas as notas tenham exatamente 3 casas decimais, sem arredondamento.

A sintaxe geral da função é TRUNC(número, precisão), onde precisão indica quantas casas decimais devem ser mantidas. Se o segundo argumento for omitido, o valor é truncado para um inteiro (zero casas decimais). Por exemplo, TRUNC(123.456) retorna 123.

É importante não confundir TRUNC com TRUNCATE. Enquanto TRUNC é uma função de manipulação de números, TRUNCATE é um comando DDL usado para remover todos os registros de uma tabela. A banca pode explorar essa confusão, mas aqui o contexto é claramente de uma função numérica aplicada a um valor de nota.

A pegadinha desta questão está em associar TRUNC a algo relacionado a tabelas ou ao comando TRUNCATE, mas o uso dentro de um SELECT com um valor numérico deixa claro que se trata da função de truncamento numérico. O candidato que conhece as funções do Oracle identifica facilmente o propósito.

TRUNC (Oracle)
  • 1Função numérica
    • Remove casas decimais
    • Sem arredondamento
    • Sintaxe: TRUNC(número, precisão)
  • 2Exemplo
    • TRUNC(3.14159, 2) → 3.14
  • 3Confusão comum
    • TRUNCATE (comando DDL)
      • Remove registros da tabela
LEVEL · soulevel.com.br

Alternativa C — ✅ Correto ⟵ GABARITO

A afirmação está correta. A função TRUNC na linha 4 tem exatamente o objetivo de remover (truncar) os dígitos além da precisão especificada, que é 3 casas decimais. O código TRUNC(NVL(ec.nota, 0), 3) trunca o valor da nota para 3 casas decimais, sem arredondamento, confirmando a descrição do enunciado.

Alternativa E — ❌ Incorreta

A alternativa E afirma que o item está errado, o que não procede. A função TRUNC é, de fato, utilizada para truncar valores numéricos, e o código apresentado a utiliza corretamente para limitar a precisão da nota a 3 casas decimais. Portanto, a alternativa E está incorreta.

Gabarito: letra C

Link permanente: /questoes/qg025999