SQL 至 return 日期介于昨天和基于今天日期的最后 two/one 个完整月之间

SQL to return dates between yesterday and the last two/one full months based on today's date

我正在尝试使用以下逻辑基于日期字段提取数据: 在哪里 (当 to_char(sysdate,'d') < 6 然后 a.dte_entered 在 last_day(ADD_MONTHS((SYSDATE-1),-3)) 和 TRUNC 之间的情况(系统数据 - 1) else a.dte_entered 在 last_day(ADD_MONTHS(SYSDATE,-2)) 和 TRUNC(SYSDATE - 1) end)

之间

示例: 如果今天的日期是 10 月 5 日,那么我需要 8 月 1 日到 10 月 4 日之间的所有数据 如果今天的日期是 10 月 10 日,那么我需要 9 月 1 日到 10 月 9 日之间的日期

这个怎么样?

where a.dte_entered >= (trunc(sysdate, 'MON') - 
                        (case when extract(day from sysdate) < 6 then interval '2' month else interval '1' month
                        )
                       ) and
      a.dte_entered < trunc(sysdate)