Estes são meus atributos disponíveis:
DT_CURRENT_DT Month Year
11-OCT-18 10 2018
12-OCT-18 10 2018
13-OCT-18 10 2018
14-OCT-18 10 2018
15-OCT-18 10 2018
16-OCT-18 10 2018
17-OCT-18 10 2018
Eu preciso de uma lógica que extraia os dados do mês passado com base em sysdate.
where DT_CURRENT_DT >= trunc (sysdate, 'MM') - interval '1' month
and DT_CURRENT_DT < trunc (sysdate, 'MM')
No entanto, quando sysdate = novembro de 2018, os dados devem ser extraídos de 15 de outubro até o final de outubro. Para outros meses deve se comportar como código acima.
ATUALIZAÇÃO (11 DE NOVEMBRO) - Versão do código CASE:
WHERE DT_CURRENT_DT >= CASE
WHEN extract ( month from trunc (sysdate, 'MM')) = 11 and extract ( year from trunc (sysdate, 'MM')) = 2018
THEN to_date('15-OCT-2018')
ELSE trunc(sysdate, 'MM') - interval '1' month
END
AND DT_CURRENT_DT < trunc (sysdate, 'MM')
Tente alterar a
where
cláusula para o seguinte: