Questão de Banco de Dados — Consultas e Comandos em SQL — INSTITUTO AOCP 2024
Banco de Dados›Consultas e Comandos em SQL
Código
qa630610
Banca
INSTITUTO AOCP
Órgão
DPE MS
Ano
2024
Cargo
Ana Def ( )
Júnior é analista de Desenvolvimento de Sistemas da Defensoria Pública do Estado de Mato Grosso do Sul e, como responsável por realizar os Merge Request da versão de desenvolvimento de um sistema de auditoria, verifica que, durante o desenvolvimento da integração do banco de dados com o sistema, para obtenção de um dado, foi utilizada a função SYSDATE() do SQL. Essa função apresentará como retorno
Asomente o horário atual da sua execução em sistema.
Ba data e a hora atuais da sua execução em sistema.
Csomente a data atual da sua execução em sistema.
Da conversão dos tipos de caracteres para o tipo data.
Eo último dia do mês em que foi aplicada a consulta.
Revelar gabarito e comentário▾
GabaritoB — a data e a hora atuais da sua execução em sistema.
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 SYSDATE() no SQL
Gabarito: letra B. A função SYSDATE() retorna a data e a hora atuais do sistema no momento em que é executada, combinando os dois componentes em um único valor do tipo data/hora. As demais alternativas ou fragmentam esse retorno (somente data ou somente hora) ou atribuem à função comportamentos que pertencem a outras funções SQL.
A SYSDATE() é uma função de data/hora amplamente disponível em SGBDs relacionais, como Oracle e MySQL. Sua principal característica é capturar o instante exato da execução da consulta, devolvendo um valor que contém tanto o dia, mês e ano quanto a hora, minuto e segundo. Isso a diferencia de funções como CURDATE() (que retorna apenas a data) e CURTIME() (que retorna apenas a hora), presentes no MySQL. No Oracle, a função equivalente é SYSDATE, que também retorna data e hora.
Na prática, imagine que Júnior execute a consulta SELECT SYSDATE() FROM dual; às 14h35min20s do dia 15 de outubro de 2024. O retorno será algo como 2024-10-15 14:35:20, ou seja, um valor completo de data e hora. Essa informação é útil para registrar o momento exato de uma operação, como a criação de um log de auditoria, que é o contexto do sistema mencionado no enunciado.
A distinção crucial aqui é entre funções que retornam apenas um componente (data OU hora) e funções que retornam ambos. A banca explora exatamente essa confusão: o candidato que sabe que SYSDATE() tem relação com o tempo pode marcar a alternativa que menciona apenas a data ou apenas a hora, sem perceber que a função entrega os dois elementos juntos. Além disso, é importante não confundir SYSDATE() com funções de manipulação de calendário, como LAST_DAY() (que retorna o último dia do mês) ou com funções de conversão de tipos, como TO_DATE().
Guarde o critério decisivo: SYSDATE() = data + hora atuais. É essa combinação que separa a alternativa correta das demais.
Funções de data/hora: SYSDATE() (Retorna data + hora atuais); CURDATE() (Retorna somente a data); CURTIME() (Retorna somente a hora); LAST_DAY() (Retorna o último dia do mês); TO_DATE() (Converte caracteres em data)
Alternativa A — ❌ Incorreta
Afirma que a função retorna somente o horário atual. Isso está errado porque SYSDATE() retorna tanto a data quanto a hora. A alternativa confunde SYSDATE() com funções específicas de hora, como CURTIME() no MySQL ou TO_CHAR(SYSDATE, 'HH24:MI:SS') no Oracle, que extraem apenas o componente de hora.
Alternativa B — ✅ Correta ⟵ GABARITO
A alternativa está correta porque SYSDATE() retorna a data e a hora atuais da execução em sistema. Essa é a definição exata da função: ela captura o timestamp completo do momento em que a consulta é executada, incluindo dia, mês, ano, hora, minuto e segundo.
Alternativa C — ❌ Incorreta
Afirma que a função retorna somente a data atual. Isso está errado, pois SYSDATE() inclui também o horário. A alternativa confunde SYSDATE() com funções como CURDATE() no MySQL ou TRUNC(SYSDATE) no Oracle, que removem o componente de hora e retornam apenas a data.
Alternativa D — ❌ Incorreta
Afirma que a função realiza a conversão dos tipos de caracteres para o tipo data. Isso não é função de SYSDATE(). A conversão de tipos é feita por funções como TO_DATE() no Oracle ou CAST() no padrão SQL. SYSDATE() não recebe argumentos e não realiza conversões; ela simplesmente retorna o valor de data/hora atual do sistema.
Alternativa E — ❌ Incorreta
Afirma que a função retorna o último dia do mês em que a consulta foi aplicada. Isso é função de LAST_DAY() no Oracle, não de SYSDATE(). A alternativa confunde a função de data/hora atual com uma função de cálculo de calendário.
NÃO CAIA NESSA!
A banca explora a fragmentação do retorno de SYSDATE(). O candidato que sabe que a função lida com o tempo pode ser tentado a marcar "somente a data" ou "somente a hora", mas a função entrega ambos os componentes. Lembre-se: SYSDATE() é um timestamp completo, não uma parte dele. Com treino, você reconhece essa pegadinha de longe 💪.