sql - Postgres 中 JSON 查询中的 OR 子句

标签 sql postgresql jsonb

在 Postgres JSONB 中,是否可以这样做:

where (
  description ->'Auditor'->'1'->'Internal|External' is not null
)

取而代之的是:

where (
  description ->'Auditor'->'1'->'Internal' is not null
  or
  description ->'Auditor'->'1'->'External' is not null
)

最佳答案

您可以使用 ?| 检查 jsonb 值是否具有一组键中的任何一个:

where description->'Auditor'->'1' ?| array ['Internal','External']

Relevant documentation

关于sql - Postgres 中 JSON 查询中的 OR 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47019256/

相关文章:

json - 如何在 JSON Postgres 数据类型列中搜索特定字符串?

sql - 将 "group by"查询中的值插入到另一个表中

MySQL 加载数据错误(错误代码 : 2 - "No such file or directory")

mysql - 使用 Mysql 查询创建汇总报告

c# - 如何将 List<string> 转换为 Sql In 语句的 SqlParameter?

sql - 在 Postgresql 中查找最近的不同记录并按 created_at 排序

python - TypeError : can't escape psycopg2. extensions.Binary to binary

python - 如何将 postgresql 字段名称输出到字典中,而不是仅在 python 中输出列名称?

json - Pentaho Kettle - 从 JSON 表输出到 Postgresql JSONB 字段

sql - 如何使用其他列类型在 postgres 中聚合 Jsonb 列