Questão de Banco de Dados — Consultas e Comandos em SQL — FUNDATEC 2023
Banco de Dados›Consultas e Comandos em SQL
Código
qa537838
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Cargo
ANC ( )
O modelo de um formato do datatime (datatime format) é formado pela combinação de um ou mais elementos de formatação. Esse formato pode ser usado na conversão de uma data para uma string com o comando to_char, que possui a seguinte sintaxe: TO_CHAR (column, datetimeformat). Sobre os formatos do datatimeformat, assinale a alternativa correta.
A‘BC’ indica o século da data.
B‘MONTH’ indica a abreviatura do nome do mês da data.
C‘SS’ indica a semana do ano da data.
D‘J’ indica o ano da data.
E‘D’ indica o dia da semana correspondente à data.
Revelar gabarito e comentário▾
GabaritoE — ‘D’ indica o dia da semana correspondente à data.
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”.
Formatos de data no Oracle: elementos do datetime format
Gabarito: letra E. O elemento 'D' no formato de data do Oracle indica o dia da semana correspondente à data (1 = domingo, 2 = segunda, ..., 7 = sábado). As demais alternativas trocam o significado dos elementos: 'BC' indica era (Antes de Cristo), 'MONTH' indica o nome completo do mês, 'SS' indica segundos e 'J' indica o dia juliano.
A função TO_CHAR é uma das funções mais utilizadas em SQL para converter valores de data/hora em strings formatadas. Ela recebe dois argumentos: a coluna ou expressão que contém a data e o formato de saída desejado. O formato é composto por elementos que representam partes específicas da data, como ano, mês, dia, hora, minuto e segundo. Cada elemento tem um significado preciso, e a banca explora exatamente a confusão entre eles.
Para dominar esse tema, é essencial conhecer os principais elementos do formato de data do Oracle. Vamos listar os mais cobrados em provas:
D: dia da semana (1 a 7, onde 1 = domingo)
DD: dia do mês (1 a 31)
DDD: dia do ano (1 a 366)
DAY: nome completo do dia da semana (ex.: 'Domingo')
DY: abreviatura do dia da semana (ex.: 'Dom')
MM: mês (1 a 12)
MON: abreviatura do nome do mês (ex.: 'Jan')
MONTH: nome completo do mês (ex.: 'Janeiro')
YY: ano com dois dígitos (ex.: 23)
YYYY: ano com quatro dígitos (ex.: 2023)
YEAR: ano por extenso (ex.: 'Twenty Twenty-Three')
HH: hora (1 a 12)
HH24: hora (0 a 23)
MI: minutos (0 a 59)
SS: segundos (0 a 59)
J: dia juliano (número de dias desde 1º de janeiro de 4712 a.C.)
BC/AD: era (Antes de Cristo / Anno Domini)
AM/PM: período do dia
WW: semana do ano (1 a 53)
W: semana do mês (1 a 5)
A pegadinha clássica da banca é trocar elementos que parecem semelhantes, como 'MONTH' (nome completo) por 'MON' (abreviatura), ou 'SS' (segundos) por 'WW' (semana do ano). Nesta questão, a alternativa E é a única que apresenta o significado correto do elemento 'D'.
Vamos analisar cada alternativa em detalhe.
Alternativa A — ❌ Incorreta
O elemento 'BC' não indica o século da data, mas sim a era (Antes de Cristo). No Oracle, 'BC' (Before Christ) e 'AD' (Anno Domini) são usados para indicar se a data é anterior ou posterior ao nascimento de Cristo. O século seria representado por elementos como 'CC' (century), que não é mencionado na alternativa. Portanto, a afirmação está incorreta.
Alternativa B — ❌ Incorreta
O elemento 'MONTH' indica o nome completo do mês (ex.: 'Janeiro', 'Fevereiro'), não a abreviatura. A abreviatura do nome do mês é representada por 'MON' (ex.: 'Jan', 'Fev'). A banca trocou o elemento completo pela abreviatura, uma pegadinha comum. Portanto, a afirmação está incorreta.
Alternativa C — ❌ Incorreta
O elemento 'SS' indica os segundos da data (0 a 59), não a semana do ano. A semana do ano é representada por 'WW' (week of year). A banca trocou o elemento de tempo (segundos) por um elemento de calendário (semana), confundindo o candidato. Portanto, a afirmação está incorreta.
Alternativa D — ❌ Incorreta
O elemento 'J' indica o dia juliano, que é o número de dias desde 1º de janeiro de 4712 a.C. (ex.: 2459345). Não indica o ano da data. O ano é representado por 'YY' ou 'YYYY'. A banca trocou o dia juliano pelo ano, uma confusão que pode ocorrer pela letra 'J' lembrar 'January' (janeiro). Portanto, a afirmação está incorreta.
Alternativa E — ✅ Correta ⟵ GABARITO
O elemento 'D' indica o dia da semana correspondente à data, variando de 1 (domingo) a 7 (sábado). Por exemplo, TO_CHAR(SYSDATE, 'D') retornaria '1' se hoje fosse domingo, '2' se fosse segunda, e assim por diante. Essa é a definição correta do elemento 'D' no formato de data do Oracle. Portanto, a alternativa está correta.
NÃO CAIA NESSA!
A banca explora a confusão entre elementos que parecem semelhantes, mas têm significados diferentes. 'MONTH' (nome completo) vs. 'MON' (abreviatura), 'SS' (segundos) vs. 'WW' (semana do ano), 'J' (dia juliano) vs. 'YYYY' (ano). Memorize os elementos mais comuns e seus significados exatos para não cair nessas armadilhas.
PEGA ESSA DICA!
Para fixar os elementos do formato de data, crie uma tabela com os elementos mais cobrados e seus significados. Pratique com exemplos reais usando TO_CHAR em um banco Oracle. Por exemplo, SELECT TO_CHAR(SYSDATE, 'DD/MM/YYYY HH24:MI:SS') FROM dual; retorna a data atual formatada. Quanto mais você praticar, mais rápido reconhecerá os elementos em questões de prova.