You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery中提取以上月最后一天为基准的近12个月数据

BigQuery 按上月末基准提取过去12个月数据的解决方案

要实现以上月最后一天为基准,提取过去12个月(对应起始月第一天到上月最后一天)的数据,可以通过以下SQL逻辑实现:

核心SQL条件

WHERE DATE(xyz) BETWEEN 
  DATE_TRUNC(DATE_SUB(DATE_TRUNC(CURRENT_DATE(), MONTH) - INTERVAL 1 DAY, INTERVAL 12 MONTH), MONTH)
  AND 
  DATE_TRUNC(CURRENT_DATE(), MONTH) - INTERVAL 1 DAY

各部分逻辑解释

  • 获取上月最后一天:DATE_TRUNC(CURRENT_DATE(), MONTH) - INTERVAL 1 DAY
    先把当前日期截断到当月第一天,再减1天,就能得到上月的最后一天。比如当前日期是2022/10/27时,这个表达式结果为2022-09-30。

  • 计算起始日期(12个月前的当月第一天):DATE_TRUNC(DATE_SUB(上月最后一天, INTERVAL 12 MONTH), MONTH)
    以上月最后一天为基准往前推12个月,再截断到当月第一天,得到起始日期。比如2022/09/30往前推12个月是2021/09/30,截断到当月第一天就是2021-10-01。

验证示例

当当前日期为2022/10/27时,代入后条件会变为:

WHERE DATE(xyz) BETWEEN '2021-10-01' AND '2022-09-30'

完全符合需求的时间范围。

内容的提问来源于stack exchange,提问作者vicky bundele

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:20:31