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

如何检查BigQuery表中JSON对象列是否存在空值

BigQuery JSON类型列筛选非空值的正确方法

你之前用SELECT column1 FROM EMP WHERE column1 != 'null'的写法无法正确筛选JSON类型列的非空值,原因是BigQuery中JSON类型的null和字符串'null'是完全不同的类型,直接用字符串比较不生效。

以下是两种正确的处理方式:

  • 筛选列本身非SQL NULL且不是JSON null
    使用JSON_TYPE函数判断JSON值的类型,结合SQL的IS NOT NULL排除空值:

    SELECT column1 
    FROM EMP 
    WHERE column1 IS NOT NULL 
      AND JSON_TYPE(column1) != 'NULL'
    
  • 筛选JSON字段中的非空值
    如果要提取JSON结构内某个字段并筛选其非空值,用JSON_VALUE函数提取后判断:

    SELECT column1 
    FROM EMP 
    WHERE JSON_VALUE(column1, '$.target_field') IS NOT NULL
    

JSON_TYPE函数会返回当前JSON值的类型(如'NULL'、'STRING'、'OBJECT'等),通过判断其不等于'NULL'可以精准排除JSON类型的空值;JSON_VALUE则用于提取JSON中的指定字段值,再通过IS NOT NULL筛选非空结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:51:03