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

2023-12-14

我参考了 GCP Big 查询文档,如下链接所示,但没有成功实现使用这些函数从 Big 查询表中检索非空值 JSON 数据类型列值的目标。

参考帮助:https://cloud.google.com/bigquery/docs/reference/standard-sql/json-data#json_nulls

选择查询示例:从 EMP 中选择 column1,其中 column1 != 'null'


当您尝试将 JSON 类型与其他类型进行比较时,您会得到

SELECT JSON "null" != 'null'

对于参数类型:JSON、STRING,运算符 != 没有匹配的签名。支持的签名:ANY != ANY at [1:8]

解决此问题的简单方法是将 JSON 数据转换为 BigQuery String 并将其与其他数据进行比较。

WITH json_data AS (
  SELECT CAST(null AS JSON) AS col1 UNION ALL
  SELECT JSON 'null' UNION ALL
  SELECT JSON '{"a":null}' UNION ALL
  SELECT JSON '{"b":"hello"}'
)
SELECT *, FORMAT('%t', col1) format, JSON_TYPE(col1) json_type,
  FROM json_data;

enter image description here

FORMAT() and JSON_TYPE()函数转换JSON 'null'分别为 BigQuery 字符串。利用这些输出之一,您可以检索非空值 JSON 数据类型列值

SELECT * FROM json_data WHERE JSON_TYPE(col1) != 'null';

or,

SELECT * FROM json_data WHERE LOWER(FORMAT('%t', col1)) != 'null';

Note FORMAT() turns null into NULL string.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 BigQuery 表中的 JSON 对象列中是否存在空值 的相关文章

  • BigQuery 数据类型

    我正在开始一个新项目 只是想在定义表模式之前进行验证 BigQuery 是否支持以下以外的其他功能 string integer float boolean BigQuery 数据类型官方文档 https cloud google com
  • PySpark 用数组替换 Null

    通过 ID 连接后 我的数据框如下所示 ID Features Vector 1 50 Array 1 1 2 3 2 50 Null 我最终得到 向量 列中某些 ID 的空值 我想用 300 维的零数组替换这些 Null 值 与非空向量条
  • C# Null 传播运算符/条件访问表达式和 if 块

    The 空传播运算符 条件访问表达式 https roslyn codeplex com discussions 540883进来c 6 0 questions tagged c 23 6 0看起来是一个非常方便的功能 但我很好奇它是否有助
  • 使用 EntityFramework 使用空参数值调用存储过程

    我在 sqlserver 2008 上有一个存储过程 其中一个参数接受空值 我不知道如何使用参数上的空值来调用该 SP 为了获得更多上下文 我正在使用 EntityFramework 6xx 在下一个示例中 参数 status Compat
  • Google BigQuery 另存为表

    我用 Google BigQuery 运行了这个查询 SELECT repo id count as count FROM TABLE DATE RANGE githubarchive day events TIMESTAMP 2015 0
  • Google Bigquery 命令行返回限制

    我刚刚升级了 bigquery 命令行程序 现在运行查询时返回的行数受到限制 限制似乎是 100 行 在升级之前 我能够返回数千行 我正在使用Debian 有没有办法扩大返回行的限制 如果我可以提供更多信息 请告诉我 Try the max
  • 如何在Ireport中给出多选参数空值的条件?

    我正在使用以下方法编写报告iReport http en wikipedia org wiki JasperReports Third party tools我想在其中添加空值条件 它使用单选选项 city P p city or P p
  • 将小数修剪到 2 位 Bigquery

    我当前正在运行一个查询 该查询运行 sum 函数并除以该数字 目前我得到的值例如 0 0904246741698848 和 1 6419814808335567 我希望这些小数被修剪到小数点后 2 个空格 他们的模式是一个浮点数 这是我的代
  • 如何删除非空约束?

    假设创建了一个表 如下所示 create table testTable colA int not null 您将如何删除非空约束 我正在寻找类似的东西 ALTER TABLE testTable ALTER COLUMN colA DRO
  • 原则 2 OneToMany 级联 SET NULL

    错误 无法删除或更新父行 外键约束失败 课程 class Teacher ORM OneToMany targetEntity publication mappedBy teacher protected publications clas
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • 何时检查未定义以及何时检查 null

    赏金编辑 我正在寻找一个很好的解释 当你应该设置 使用null or undefined以及您需要在哪里进行检查 基本上这两者的常见做法是什么 真的可以在通用的可维护代码中单独对待它们吗 我什么时候可以安全地检查 null 安全地检查 un
  • 通过 NULL 指针访问类成员

    我正在尝试 C 发现下面的代码非常奇怪 class Foo public virtual void say virtual hi std cout lt lt Virtual Hi void say hi std cout lt lt Hi
  • 为什么C++中没有“NULL引用”?

    我正在阅读 C 常见问题解答 8 6 什么时候应该使用引用 什么时候应该使用指针 http www parashift com c faq lite refs vs ptrs html 特别是以下声明 可以时使用引用 必要时使用指针 上述情
  • 在 C++ 中检查空指针的首选方法是什么?

    选项A if NULL pSomethingColumn Yes we use Yoda conditions if NULL pSomethingColumn Or if pSomethingColumn if pSomethingCol
  • KDB 排除具有空值的行

    我有一个表 其中有一些带有空值的单元格 分散在数据集中 有什么简单的方法可以排除任何列中包含空值的所有行吗 我只是想避免这种情况 select from T where not null col1 not null col2 not nul
  • 如何从 BigQuery API 获取列名称?

    我可以使用以下代码获取列值 os environ GOOGLE APPLICATION CREDENTIALS C Users xxx Desktop key json bq client Client query SELECT msts
  • 如何从 f# 返回一个空元组到 c#? [复制]

    这个问题在这里已经有答案了 我有这个类型正确的 C 函数 static System Tuple
  • java.lang.Object#getClass() 的 Eclipse 外部空注释

    我正在使用 Eclipse Mars 中提供的外部空注释工具 我正在尝试添加外部注释java lang Object getClass 但似乎无法正确签名 我尝试过以下变体 NonNull Class getClass L1java lan
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z

随机推荐

  • 将通用应用程序作为缩放的 iPhone 应用程序运行?

    我已经看到了大量有关将 iPhone 和 iPad 应用程序合并为通用应用程序的问题和答案 但这不是我想要做的 我要做的是在应用程序购买中使用来解锁 iPad 界面 然后使用条件显示正确的界面 如果购买了该界面 应用程序将显示 iPad 笔
  • Firefox 中的 window.onbeforeunload 支持

    我在 JavaScript 中使用 window onbeforeunload 这在 IE 中完美运行 但在 Firefox 中不会触发 我检查了 stackoverflow 中的不同链接 在其中我读到 firefox 不支持 window
  • 强制对声明进行函数评估

    我有一个函数f x y z Limit g x eps y z eps gt 0 我绘制f x y z 在下一步中 早些时候 我曾经评估极限并复制定义中的表达式f 我试图一步完成这一切 然而 只有当我尝试绘制时 才会对极限进行评估f 因此
  • 将 jQuery流沙与 fancybox 结合使用时出现问题

    我正在使用流沙 jQuery 的这个例子 制作精美的 HTML5 作品集 现在 我想在单击图像时打开灯箱 为此 我使用 fancybox jQuery 但问题在于这个 Making a Beautiful HTML5 Portfolio q
  • 由外键控制的值

    我在 SQL Server 中有一个非常简单的数据库 包含以下三个表 Theater ID is3D 其他值 Show ID Theater ID Movie ID date time 其他值 Movie ID is3D 其他值 我想确保3
  • Java-分割字母数字字符串

    输入示例 RC23 CC23QQ21HD32 BPOASDf91A5HH123 输出示例 RC 23 CC 23 QQ 21 HD 32 BPOASDf 91 A 5 HH 123 字母部分和数字部分的长度不固定 我知道如何将 split
  • 带有局部变量的 Mockito

    我有一个简单的方法 返回一个String 它还创建了一个本地List 我想测试一下给本地带来的附加值List 这是一个例子 package com impl import java util ArrayList import java ut
  • Android:setSelection 对 Spinner 没有影响

    我在 Spinner 上使用 setSelection 时遇到一些问题 我将值设置为在代码中显示微调器时预先选择 但它没有任何效果 并且始终选择列表中的第一个替代项 代码如下所示 LayoutInflater li LayoutInflat
  • 在 Flash 中,当 e4x 语句存储在字符串中时,我将如何运行该语句?

    所以我有这样的事情 var xmlStatement String xmlObject node 3 thisValue 我必须使用什么神秘函数才能执行 xmlStatement 并从该 xmlObject 获取 thisValue 喜欢
  • 统计 Android 中的应用程序使用情况

    谁能帮我确定如何计算应用程序在 Android 中的使用次数 写入 SharedPreference onCreate 这不会是一个非常准确的计数 因为 onCreate 有时会被调用 而不仅仅是应用程序启动 但它会是一个相当不错的数字 如
  • 需要将具有相同ID的多行数据转换为1行多列数据

    我回顾了已经解决的问题的版本 但是我发现的一些好的技巧 例如 在 分区 上使用rank 似乎不适用于我所在的Sybase版本 我希望运行一个程序来提取按如下方式组织的数据 电子邮件 偏爱电子邮件1 偏好XYZ电子邮件1 偏好ABC 并将其呈
  • 从 Windows 批处理文件替换文本文件中的字符

    我正在尝试编写一个批处理文件 它将查看一个小文本文件 实际上是一个 CUE 表 中的每个字符 并执行三件事 删除所有问号 用连字符替换任何斜杠 并用两个冒号替换冒号连字符 如下例中的第二行 TRACK 01 AUDIO TITLE Colo
  • NextAuth /api/auth/* 在 Vercel 部署上始终返回 404,但在本地工作

    每当我尝试导航到登录页面时 它都会重定向到 api auth error关于 vercel 部署 在本地 它按预期导航和工作 通过检查网络选项卡 第一个失败的网络请求是 api auth providers 不太确定哪里出了问题 pages
  • 上下文不保存更改并出现错误 1550

    我正在尝试更新实体并保存更改 我总是收到以下错误 The operation couldn t be completed Cocoa error 1550 Method BOOL updateEvent EventDTO eventDTO
  • SCNNode 没有出现在正确的位置

    我下载了wall2 obj来自 Google Blocks 的文件 然后我使用 Blender 将扩展名更改为 dae墙节点没有出现在它应该出现的地方 墙节点放置的位置与应放置的位置 枢轴点位置问题 在搅拌机中改变pivot point的位
  • 如何从 Spring data MongoDB 中的 AggregationOperation 列表创建聚合?

    我想创建一个可以在 MongoOperations 的aggregate 函数中使用的聚合 因此 为了创建聚合 我使用了 AggregationOperation 列表 如下所示 ApplicationContext ctx new Ann
  • 从 JavaScriptExecutor 的 ExecuteScript 获取值

    我有一个需要价值的问题 string someValue IJavaScriptExecutor Global Driver ExecuteScript publication title val Console WriteLine som
  • Symfony2 +Vagrant 性能 - 运行缓慢 - 加速?

    我已经开始使用 vagrant 和 Symfony2 来开发 Web 项目 我使用的是Windows 性能非常慢 因为不支持nfs挂载 我已将缓存放入内存中 这提供了异国情调的提升 禁用了 xdebug 如发布的here 然而 在 Wind
  • 角度形式数组单选按钮

    我正在尝试将单选按钮组添加到 FormArray 问题是 当我选择一个值时 它会更改 FormArray 每个成员的值 我知道这与 formControlName 有关 但是我不知道如何使 formControlName 动态化 我看过这个
  • 如何检查 BigQuery 表中的 JSON 对象列中是否存在空值

    我参考了 GCP Big 查询文档 如下链接所示 但没有成功实现使用这些函数从 Big 查询表中检索非空值 JSON 数据类型列值的目标 参考帮助 https cloud google com bigquery docs reference