Teradata SQL - 如何获取当月和当月+8之间的数据(当月+8会落入2023年)

Teradata SQL - how to get data between current month and current month+8 (current month+8 will fall into 2023)

我有这个代码,但是 returns 0 行:

SELECT
EXTRACT(MONTH FROM POST_DATE)
FROM
MY_TABLE

WHERE

EXTRACT(MONTH FROM POST_DATE) BETWEEN EXTRACT(MONTH FROM CURRENT_DATE) AND EXTRACT(MONTH FROM ADD_MONTHS(CURRENT_DATE,8))

现在是第 5 个月,如果我的代码更改为 7 而不是 8,结果将显示 5、6、7、8、9、10、11、12。 MY_TABLE 有 2023 年的数据。 有人可以帮忙吗?谢谢

这里我们计算这个月的第一天,然后我们在上个月的最后一天加上9个月。

SELECT
EXTRACT(MONTH FROM POST_DATE)
FROM
MY_TABLE
WHERE POST_DATE BETWEEN
  ADD_MONTHS(CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE)+1, 0)
AND
  ADD_MONTHS(CURRENT_DATE - EXTRACT(DAY FROM CURRENT_DATE), 9)
;