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)
;
我有这个代码,但是 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)
;