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

BigQuery中WHERE子句使用IS NULL无法查询到NULL数据,请求帮助

解决BigQuery中usertype IS NULL查不到数据的问题

问题原因

你遇到的情况核心原因是:数据集中的“NULL记录”并非SQL标准的NULL值,而是**空字符串("")**或字符串形式的"NULL"。BigQuery里IS NULL仅匹配真正的SQL NULL,不会识别空字符串或字符串"NULL"为NULL值。

验证真实数据情况

先执行以下查询确认usertype列的实际值分布:

SELECT 
  usertype,
  COUNT(*) AS record_count
FROM `bigquery-public-data.new_york_citibike.citibike_trips`
GROUP BY usertype
ORDER BY record_count DESC;

该查询会列出usertype所有不同取值及对应数量,你能直接看到所谓的“NULL记录”真实是什么值。

针对性解决方案

根据验证结果选择对应过滤条件:

  1. 若缺失值是空字符串,使用:
SELECT *
FROM `bigquery-public-data.new_york_citibike.citibike_trips`
WHERE usertype = '';
  1. 若缺失值是字符串形式的"NULL",使用:
SELECT *
FROM `bigquery-public-data.new_york_citibike.citibike_trips`
WHERE usertype = 'NULL';
  1. 同时覆盖SQL NULL、空字符串、字符串"NULL"的场景:
SELECT *
FROM `bigquery-public-data.new_york_citibike.citibike_trips`
WHERE usertype IS NULL OR usertype = '' OR usertype = 'NULL';

补充说明

BigQuery列的NULLABLE模式仅表示该列允许存储SQL NULL,但实际业务数据中,缺失值常被处理为空字符串或其他占位符,这是数据处理中常见的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:35:25