Hologres / PostgreSQL jsonb 常用函数 & 操作符对照表

测试表准备(Hologres/PG 通用)

复制代码
CREATE TABLE tmp_jsonb_demo (
    id INT,
    info jsonb
);
INSERT INTO tmp_jsonb_demo VALUES
(1, '{"name":"订单A","amount":100.0,"tags":["对账","异常"],"meta":{"create_time":"2026-10-19"}}'::jsonb),
(2, '["苹果","香蕉",100]'::jsonb),
(3, '{}'::jsonb),
(4, NULL);
分类 函数 / 操作符 功能说明 示例 SQL 执行结果
取值操作符 -> 获取 json 子节点,返回jsonb 类型 SELECT info -> 'name' FROM tmp_jsonb_demo WHERE id=1; "订单A"(jsonb)
->> 获取 json 子节点,返回text 文本(最常用,可直接 cast) SELECT info ->> 'amount' FROM tmp_jsonb_demo WHERE id=1; 100.0(字符串)
#> 多层路径取值,返回 jsonb SELECT info #> '{meta,create_time}' FROM tmp_jsonb_demo WHERE id=1; "2026-10-19"
#>> 多层路径取值,返回 text(推荐多层使用) SELECT info #>> '{meta,create_time}' FROM tmp_jsonb_demo WHERE id=1; 2026-10-19
Key 存在判断 col ? 'key' 判断顶层是否存在指定 key,等价jsonb_exists SELECT info ? 'name' FROM tmp_jsonb_demo WHERE id=1; true
jsonb_exists(jsonb, text) 判断顶层 key 是否存在,兼容写法 SELECT jsonb_exists(COALESCE(info, '{}'::jsonb), 'name') FROM tmp_jsonb_demo WHERE id=1; true
`? ` 是否存在任意一个 key(多 key 或条件) `SELECT info ? array'name','xxx' FROM tmp_jsonb_demo WHERE id=1;` true
?& 必须同时存在全部 key(多 key 且条件) SELECT info ?& array['name','amount'] FROM tmp_jsonb_demo WHERE id=1; true
包含匹配 @> 左边 json 是否包含右边 json SELECT info @> '{"name":"订单A"}'::jsonb FROM tmp_jsonb_demo WHERE id=1; true
<@ 左边 json 被包含在右边 json 内 SELECT '{"name":"订单A"}'::jsonb <@ info FROM tmp_jsonb_demo WHERE id=1; true
JSON 对象修改 jsonb_set(target, path, new_val, [create_missing]) 修改 / 新增指定路径的值 ```sql
相关推荐
鸽芷咕27 分钟前
KingbaseES 调参先看执行计划,参数是答案不是起点
数据库
这个DBA有点耶1 小时前
MySQL 8.0直方图:统计信息升级了,执行计划为什么还是选错?
数据库·mysql·代码规范
老纪的技术唠嗑局3 小时前
把 seekdb 塞进 iOS App:让混合检索嵌入手机
数据库
ClouGence4 小时前
开源数据库管理工具 CloudDM 新版本发布,支持 OpenSearch、IoTDB 数据源
数据库·开源
徐小黑ACG4 小时前
Redis-基础
数据库·redis·缓存
火山引擎开发者社区4 小时前
案例实践 | 让 Agent 读懂业务口径:ContextSearch 在广告数据查询中的实践
数据库
10年前端老司机6 小时前
Milvus 8种检索能力实践
数据库·python·agent
Decay__6 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
freejackman6 小时前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
隔窗听雨眠8 小时前
云数仓向PostgreSQL生态延伸的技术动因与工程代价
postgresql·数据库架构·云数仓