sql - 如何更新 JSONB 数组 Postgresql 数组对象中的多个值
问题描述
我在下面有一个 JSONB 数组
[
{"name":"test","age":"21","phone":"6589","town":"54"},
{"name":"test12","age":"67","phone":"6546","town":"54"}
]
现在我想更新town
, phone
, age
if name
is test。如何更新 JSONB 数组中的多个值?
解决方案
下面的查询将为您提供其中包含test
单词的结果。找到这些后,您可以更新其他列中的任何值。
CREATE TABLE TEST2 (
INFO JSON NOT NULL
);
INSERT INTO TEST2 (info)
VALUES('[
{"name":"test","age":"21","phone":"6589","town":"54"},
{"name":"test12","age":"67","phone":"6546","town":"54"},
{"name":"dest147","age":"67","phone":"6546","town":"54"}
]');
SELECT *
FROM TEST2,
json_array_elements(info) elem
WHERE elem ->> 'name' like '%test%';
推荐阅读
- javascript - 检查新注册的功能
- angular - 如何在角度组件中嵌入脚本标签?
- linux - 获取 Bash 脚本中的以太网设备名称列表
- javascript - 如何设置 svg 大小以适合其内容?
- sql - 逗号分隔的列输出到一个 plsql sproc
- java - 使用 AccessType.PROPERTY 对 JPA 实体属性调用 clear 失败
- vb.net - VB Net - 当字符串位于 Web Config 文件中时如何创建 SQL 连接字符串?
- actions-on-google - 谷歌行动;交易接口
- java - 如何创建具有多个过滤器的搜索栏?
- d3.js - 将 D3.js 拖放可折叠树与节点编辑 V3 迁移到 V5