Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FUNDATEC 2025

Banco de DadosPL-SQL
Código
qg474890
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação / Ênfase em Programação de Sistemas na Tecnologia JAVA
Considerando que 07/02/2025 é uma sexta-feira, qual é a saída apresentada após executar o seguinte trecho de código escrito em PL/SQL?Q58.png 605×141
  1. A1
  2. B2
  3. C5
  4. D6
  5. EApresenta erro de sintaxe
Revelar gabarito e comentário

GabaritoA — 1

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

Resolução

Gabarito: letra A — a conta chega a 6 — alternativa D.

A ideia por trás

A função TO_CHAR no Oracle converte uma data em texto, e a máscara 'D' extrai o dia da semana como um número de 1 a 7. Esse número segue uma convenção própria do Oracle: a semana começa no domingo, que vale 1, e termina no sábado, que vale 7. É uma forma de representar o dia da semana de maneira compacta, mas que depende de conhecer essa convenção.

A correspondência é fixa: domingo=1, segunda=2, terça=3, quarta=4, quinta=5, sexta=6, sábado=7. Não há cálculo envolvido; basta saber qual dia da semana é a data e mapear para o número. A pegadinha comum é assumir que a semana começa na segunda-feira, o que deslocaria todos os números em um.

Esta questão cobra exatamente essa convenção: dado que 07/02/2025 é sexta-feira, precisamos identificar qual número a máscara 'D' retorna para sexta-feira no Oracle.

O que a questão dá

  • data fornecida: 07/02/2025

  • dia da semana correspondente: sexta-feira

  • função usada: TO_CHAR com máscara 'D'

O que queremos: o valor numérico retornado pela função TO_CHAR para essa data

Passo 1 — Identificar o dia da semana da data

O enunciado já informa que 07/02/2025 é sexta-feira, então não precisamos calcular o dia da semana. Precisamos apenas lembrar que sexta-feira é o dia que queremos mapear.

sextafeira\boxed{\text{sexta}-\text{feira}}
NÃO CAIA NESSA!

Tentar calcular o dia da semana a partir da data, quando o enunciado já fornece essa informação.

Passo 2 — Lembrar a convenção do Oracle para dias da semana

A função TO_CHAR com a máscara 'D' retorna um número que segue a convenção do Oracle, onde a semana começa no domingo. Precisamos dessa convenção para saber qual número corresponde a sexta-feira.

domingo=1, segunda=2, terça=3, quarta=4, quinta=5, sexta=6, sábado=7

NÃO CAIA NESSA!

Assumir que a semana começa na segunda-feira, o que levaria a um número diferente.

Passo 3 — Mapear sexta-feira para o número correspondente

Com a convenção em mente, basta localizar sexta-feira na lista: ela é o sexto dia, então o número é 6.

6\boxed{6}
NÃO CAIA NESSA!

Contar a partir de segunda-feira, o que daria 5.

Resposta: 6 — alternativa D

Link permanente: /questoes/qg474890