Olá,
Preciso fazer uma consulta em PostgreSQL que todo início de mês, pegue todos os registros do mês anterior. Achei exemplos em SQL mas não funciona no PostgreSQL.
Att.
Olá,
Preciso fazer uma consulta em PostgreSQL que todo início de mês, pegue todos os registros do mês anterior. Achei exemplos em SQL mas não funciona no PostgreSQL.
Att.
Olá Vinícius, tudo bem? Gostaria de mais detalhes, você deseja que todo dia 01 de cada mês, seja realizado uma consulta no banco de dados que pegue todos os registros de uma determinada tabela que tenham sido criado no mês anterior é isso? Ou você deseja que seja feita essa consulta levando em conta se é dia útil (segunda a sexta-feira)? Poderia detalhar isso pra gente passar uma resposta mais exata!
Olá Jonilson,
É Exatamente a primeira opção do que você falou, todo dia 01 um consulta que pegue todos os registros de uma determinada tabela que foram inseridos no mês anterior.
No PostgreSQL, você poderia utilizar a seguinte query:
SELECT * FROM notas_fiscais WHERE TO_CHAR(data_venda, 'YYYY-MM') = TO_CHAR(date_trunc('month',current_date) - INTERVAL'15 day', 'YYYY-MM');
Nesse caso, supondo que estamos no dia 01 do mês, então fazemos uma transformação de todos os campos "data_venda" para string com o formato "YYYY-MM", assim só observamos o mês e o ano, e logo em seguida comparamos com uma string de mesmo formato, que conseguimos obtendo o mês atual a partir do "date_trunc('month',current_date)" e pegamos o intervalo, no caso menos 15 dias da data atual (" - INTERVAL'15 day' "), assim vamos estar com certeza no mês anterior.
Tenta utilizando essa query como base!