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

BigQuery中仅返回非空键值对的查询方法

在BigQuery中提取param对象的非空键值对并序列化为JSON字符串

当param是STRUCT类型(最优方案)

BigQuery支持直接对STRUCT使用EXCEPT FOR NULLS语法,自动剔除所有值为null的字段,再转成JSON字符串:

SELECT
  TO_JSON_STRING(param EXCEPT FOR NULLS) AS non_null_params
FROM
  `your_dataset.your_table`;

当param是JSON类型字段

如果param存储为JSON字符串,先解析为STRUCT再处理:

SELECT
  TO_JSON_STRING(PARSE_JSON(param) EXCEPT FOR NULLS) AS non_null_params
FROM
  `your_dataset.your_table`;

兼容旧版本的正则方案

若你的BigQuery版本不支持EXCEPT FOR NULLS,可通过正则替换快速处理(注意:若值包含特殊JSON符号可能出现格式问题):

SELECT
  REGEXP_REPLACE(
    REGEXP_REPLACE(TO_JSON_STRING(param), r'"[^"]+":null,?', ''),
    r',(\s*})', '$1'
  ) AS non_null_params
FROM
  `your_dataset.your_table`;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:55:27