Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Em um banco de dados Oracle 19, funcionando em condições ideais, uma Analista deseja remover da tabela Funcionarios todos aqueles registros cujo campo Data_Contratacao seja 2 de janeiro de 2022 (dia-mês-ano). O comando PL/SQL correto para isso é:DELETE FROM Funcionarios WHERE Data_Contratacao =
ACHECK_DATE('02-JAN-22','dd-mm-yy');
BVALIDATE('02-JAN-22','dd-mon-yy');
CTO_DATE('02-JAN-22','dd-mon-yy');
D"02-JAN-22";
EVAL_DATE('02-JAN-22','dd-mm-yy');
Revelar gabarito e comentário▾
GabaritoC — TO_DATE('02-JAN-22','dd-mon-yy');
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”.
Oracle PL/SQL: Conversão de datas no comando DELETE
Gabarito: letra C. Em bancos Oracle, a forma correta de comparar uma coluna do tipo DATE com uma string literal é usar a função TO_DATE, que converte a string em data de acordo com um formato explícito. O formato 'dd-mon-yy' é o padrão do Oracle para datas (ex.: '02-JAN-22'). As demais alternativas usam funções inexistentes (CHECK_DATE, VALIDATE, VAL_DATE) ou uma string sem conversão ("02-JAN-22"), o que pode falhar dependendo das configurações de NLS.
A banca testa o conhecimento da função TO_DATE e do formato de data típico do Oracle (DD-MON-YY). É uma questão de letra de lei da documentação Oracle.
Alternativa A — ❌ Incorreta
CHECK_DATE não é uma função válida no Oracle. Não existe função nativa com esse nome para conversão de datas.
Alternativa B — ❌ Incorreta
VALIDATE também não é uma função de conversão de data. Pode ser confundida com a função TO_DATE, mas não existe no banco Oracle.
Alternativa C — ✅ Correta ⟵ GABARITO
TO_DATE é a função padrão do Oracle para converter uma string em data. O formato 'dd-mon-yy' corresponde ao pattern de 2 dígitos para dia, mês abreviado (3 letras) e 2 dígitos para ano. Exemplo: TO_DATE('02-JAN-22','dd-mon-yy') retorna a data 2 de janeiro de 2022. Esse é o jeito correto e seguro de comparar datas no WHERE.
Alternativa D — ❌ Incorreta
Usar apenas a string "02-JAN-22" sem conversão explícita depende da configuração de NLS_DATE_FORMAT da sessão. Se o formato padrão não for exatamente 'DD-MON-YY', a comparação falhará ou dará erro. A prática recomendada é sempre usar TO_DATE.
Alternativa E — ❌ Incorreta
VAL_DATE não é uma função do Oracle. Pode ser confundida com TO_DATE, mas não existe.
NÃO CAIA NESSA!
O nome das funções é propositalmente parecido (CHECK_DATE, VALIDATE, VAL_DATE) para induzir o candidato que não conhece a sintaxe exata. A pegadinha está em confundir o nome real TO_DATE com variações sonoras ou semânticas. Lembre-se: a única função de conversão string→data no Oracle é TO_DATE.