Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida para pesquisa entre duas datas

Bom dia, estou com uma dúvida de como fazer uma pesquisa entre um intervalo de datas, para a listagem de eventos registrados no banco a partir de 90 dias até 365. Já tentei de várias formas, porem, não estou tendo exito. Atualmente a minha instrução lista até 90 dias anteriores a partir da data que executo ela conforme instrução abaixo: AND protocolo.DT_ABERTURA BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY) AND CURRENT_DATE()

Essa parte da instrução lista até 90 dias, e preciso ajustar uma instrução para a listagem a partir da data da execução da instrução 90 dias até 365.

Não se se fui bem claro hehe, trabalho com a construção de relatórios no excel, e seria para um relatório desses essa solicitação.

Agradeço desde já.

3 respostas
solução!

Seria interessante você colocar um exemplo de qual o resultado que você espera.

Considerando que a data atual seja 10/10/2020, retornar registros dos últimos 90 dias retornaria resultados de hoje até 12/10/2019. Esse resultado você obtém a partir deste exemplo que você postou.

AND protocolo.DT_ABERTURA BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY) AND CURRENT_DATE()

Se você quer registros de 90 a 365 dias, o meu entendimento seria, considerando que a data atual é 10/10/2020, que você quer registros com data de abertura de 12/10/2019 a 10/01/2019. O critério ficaria assim:

AND protocolo.DT_ABERTURA BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL - 365 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY)

Agora, se a contagem dos 365 dias é a partir dos últimos 90 dias,a contagem seria 365 dias anteriores a data de 12/10/2019, ou seja, registros de 12/10/2019 a 12/10/2018

AND protocolo.DT_ABERTURA BETWEEN DATE_ADD(DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY), INTERVAL - 365 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY)

Olá KAUÊ, eu entendi parcialmente, porém ficou uma parte que não compreendi corretamente, tipo, você deseja que o resultado traga os eventos que serão daqui a 90 dias até o dia 365, no caso 90 dias a partir da data atual até o final do ano, ou realmente é 365 corridos?? No caso o relatório é pra mostrar os eventos que serão daqui a 90 dias até mais 275 dias pra frente é isso?? Acho que esse é o ponto, se for 365 dias corridos fica mais fácil, se for por ano fica mais complicado, porque ai teremos que determinar o ultimo dia do ano, até o dia que começa os 90 dias para poder determinar a consulta, me tira essa dúvida pra ver se posso ajudar!

Muito obrigado, meu problema foi solucionado com a seguinte instrução:

AND protocolo.DT_ABERTURA BETWEEN DATE_ADD(DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY), INTERVAL - 365 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL - 90 DAY)

O primeiro dia dos 365 anteriores deveria ser a partir dos 90 dias.