Oracle SQL - 选择月 - 当前年(-1)到月 - 当前年之间的日期

tou*_*ups 4 sql oracle date-arithmetic

我有一个列中包含日期以及表中的其他列.我希望能够:

显示与上一年的9月1日到当年7月30日的日期相匹配的所有行.

我知道有些事情需要做,只是不确定日期的具体语法..

SELECT * FROM xx
WHERE ASM_DATE BETWEEN TRUNC(SYSDATE-1,'YY') AND TRUNC(SYSDATE,'YY');
Run Code Online (Sandbox Code Playgroud)

这就是我到目前为止......

我知道我可以使用SYSDATE和'YYYY'获取当前年份,然后在前一年做-1,我不确定如何指定除此之外的月份.任何帮助都会很棒.

Mat*_*lie 9

SELECT
  *
FROM
  xxx
WHERE
      ASM_DATE >= ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), -12)
  AND ASM_DATE <  ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'),   1)
Run Code Online (Sandbox Code Playgroud)