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

BigQuery SQL查询:获取Operational_End_Date为NULL或指定日期后的数据

BigQuery SQL查询修正方案

你的SQL存在两个语法和逻辑错误:

  • 缺少WHERE关键字,FROM子句后直接用AND属于语法错误
  • IN运算符无法混合NULL判断和范围条件,而且SQL中不能用IN (NULL)来匹配NULL值(因为NULL和任何值比较结果都是UNKNOWN)

正确写法1(最直观的方式)

用OR分开两个判断条件,NULL必须用IS NULL来检测:

SELECT *
FROM data 
WHERE Operational_End_Date IS NULL 
   OR Operational_End_Date > '2022-08-01'

正确写法2(简化条件的方式)

通过COALESCE把NULL值替换成一个远大于目标日期的固定值,这样可以用单一条件完成筛选:

SELECT *
FROM data 
WHERE COALESCE(Operational_End_Date, '9999-12-31') > '2022-08-01'

这里把NULL替换成9999-12-31(BigQuery支持的最大日期之一),确保它会满足大于2022-08-01的条件,从而同时包含NULL和符合范围的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:02:14