【问题标题】:Teradata SQL - how to get data between current month and current month+8 (current month+8 will fall into 2023)Teradata SQL——如何获取当月和当月+8之间的数据(当月+8会落入2023年)
【发布时间】:2022-05-06 04:27:36
【问题描述】:

我有这段代码但返回 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 年的数据。 有人可以帮忙吗?谢谢。

【问题讨论】:

  • 01/'“本月”和月底之间的日期(今天+8个月)
  • 感谢cmets,你能用代码写吗?我是 SQL 的新手。谢谢你
  • 见答案。我无权访问 Teradata。请检查我的查询。谢谢

标签: teradata teradata-sql-assistant teradatasql


【解决方案1】:

这里我们计算这个月的第一天,然后我们在上个月的最后一天加上 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)
;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多