Analista Judiciário - Área Apoio Especializado Especialidade Tecnologia da Informação
Um Tribunal Regional do Trabalho deseja consultar a quantidade de audiências realizadas nos últimos 3 meses para o tipo de processo trabalhista 'RESCISÃO CONTRATUAL'. Em um banco de dados PostgreSQL, aberto e funcionando em condições ideais, a consulta é obtida usando-se o comando:
GabaritoB — SELECT COUNT(*)
FROM audiencias
WHERE tipo_processo = 'RESCISÃO CONTRATUAL'
AND data_audiencia >= CURRENT_DATE - INTERVAL '3 MONTH';
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”.
PostgreSQL – Consultas com datas
Gabarito: letra B. A alternativa correta utiliza CURRENT_DATE - INTERVAL '3 MONTH' para calcular a data de 3 meses atrás, que é a forma correta de obter audiências dos últimos 3 meses. As demais alternativas contêm erros de sintaxe ou funções inexistentes no PostgreSQL.
Alternativa A — ❌ Incorreta
A função MAKE_INTERVAL(months := 3) cria um intervalo válido, mas ao compará-lo diretamente com a coluna data_audiencia (que é uma data) ocorre erro: não é possível comparar uma data com um intervalo sem um ponto de referência. O correto seria data_audiencia >= CURRENT_DATE - MAKE_INTERVAL(months := 3) ou usar INTERVAL '3 months'.
Alternativa B — ✅ Correta ⟵ GABARITO
Utiliza CURRENT_DATE (data atual) subtraído do intervalo INTERVAL '3 MONTH', gerando a data correspondente a 3 meses atrás. A cláusula WHERE filtra corretamente as audiências cuja data é maior ou igual a essa data.
Alternativa C — ❌ Incorreta
A expressão CURRENT_DATE - '90 DAYS' é inválida: não se pode subtrair uma string literal de uma data. O correto seria CURRENT_DATE - INTERVAL '90 DAYS'. Além disso, COUNT (*) com espaço é aceito, mas não é o erro principal.
Alternativa D — ❌ Incorreta
A função NOWDATE() não existe no PostgreSQL. As funções corretas seriam CURRENT_DATE ou NOW(). Subtituindo por NOW() - INTERVAL '3 MONTH' funcionaria, mas NOWDATE() causa erro de sintaxe.
Alternativa E — ❌ Incorreta
DATE_TRUNC('MONTH', NOW()) retorna o primeiro dia do mês atual. Subtrair a string '3 MONTHS' é inválido (falta INTERVAL). Mesmo que corrigisse para INTERVAL '3 MONTHS', a consulta não retornaria exatamente os últimos 3 meses a partir de hoje, mas sim desde o primeiro dia do mês atual menos 3 meses, o que não atende ao requisito.
PEGA ESSA DICA!
No PostgreSQL, para trabalhar com datas e intervalos, lembre-se sempre de usar a palavra-chave INTERVAL antes da string de tempo. As funções CURRENT_DATE, NOW() e AGE() são frequentemente cobradas em concursos. Pratique a sintaxe exata para evitar distratores como MAKE_INTERVAL mal aplicado e funções inexistentes como NOWDATE().