【发布时间】:2021-12-23 00:59:01
【问题描述】:
我是 Postgres 的新手。我想从 JSON 数组中删除 JSON 对象。
我有一个表,我正在使用 jsonb 列存储 JSON 数组,如下所示。
[
{
"id": "c75e7a-001e-4d64-9613-62f666d42103",
"name": "Product1"
},
{
"id": "c75e7a-001e-4d64-9613-62f666d42103",
"name": null
},
{
"id": "c75e7a-001e-4d64-9613-62f666d42103",
"name": "Product2"
},
{
"id": "c75e7a-001e-4d64-9613-62f666d42103",
"name": null
}
]
我想从名称键中包含空值的数组中删除 JSON 对象。
去掉答案后应该是这样的
[
{
"id": "c75e7a-001e-4d64-9613-62f666d42103",
"name": "Product1"
},
{
"id": "c75e7a-001e-4d64-9613-62f666d42103",
"name": "Product2"
}
]
任何人,请帮我编写 SQL 查询,
我知道如何从包含空值的表中获取所有记录。
SELECT *
FROM table_name
WHERE jsonb_col_name @>CAST('[{"name": null}]' AS JSONB);
但我不知道如何进行删除查询,请帮助我。 我如何使用查询来做到这一点?
【问题讨论】:
标签: sql postgresql jsonb