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

BigQuery SQL获取当前日期前两个月月初日期的语法修正求助

修正BigQuery SQL语法以获取指定起始日期

错误原因

你原来的SQL语句不符合BigQuery的函数语法规范:

  • BigQuery中不存在DATE_DIFF(month, 0, GETDATE())这种写法,DATE_DIFF的正确格式是DATE_DIFF(date_expression_a, date_expression_b, date_part)
  • GETDATE()是SQL Server的函数,BigQuery中获取当前日期需用CURRENT_DATE()
  • DATE_ADD在BigQuery中的语法为DATE_ADD(date_expression, INTERVAL int64_expression date_part),不能直接将month作为第一个参数

正确写法

要获取当前日期前两个月的当月第一天,可先通过DATE_TRUNC将当前日期截断到月份,再减去2个月:

-- 获取起始日期(当前日期前两个月的当月第一天)
SELECT DATE_TRUNC(CURRENT_DATE(), MONTH) - INTERVAL 2 MONTH AS start_date;

也可用DATE_ADD实现等价效果:

SELECT DATE_ADD(DATE_TRUNC(CURRENT_DATE(), MONTH), INTERVAL -2 MONTH) AS start_date;

应用到数据筛选

将上述逻辑嵌入WHERE子句,即可完成指定范围的数据筛选:

SELECT *
FROM your_table_name
WHERE date_column BETWEEN DATE_TRUNC(CURRENT_DATE(), MONTH) - INTERVAL 2 MONTH AND CURRENT_DATE();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:53:16