ITPub博客

首页 > 数据库 > 国内数据库 > HGDB安全版4.5性能支持 SQL/JSON path 特性

HGDB安全版4.5性能支持 SQL/JSON path 特性

原创 国内数据库 作者:瀚高PG实验室 时间:2021-08-02 14:51:32 0 删除 编辑
环境
系统平台: IBM:Linux on System z Red Hat Enterprise Linux 7
版本: 4.5
详细信息

新增SQL/JSON path特性,支持基于Json元素的复杂查询

CREATE TABLE t_track ( a jsonb);
INSERT INTO t_track (a) VALUES ('
{ 
"gpsname" :  "gps1" ,
  
"track"  :
  {
    
"segments"  : [
      { 
"location" :   [  47.763 ,  13.4034  ],
        
"start time" :  "2018-10-14 10:05:14" ,
        
"HR" :  73
      },
      { 
"location" :   [  47.706 ,  13.2635  ],
        
"start time" :  "2018-10-14 10:39:21" ,
        
"HR" :  130
      } ]
  }
}');

SELECT  jsonb_pretty(a) FROM t_track;

image.png

在HGDB新版本中可以使用SQL/JSON path函数表达式查询

SELECT jsonb_path_query(a,'$.gpsname') FROM t_track ;

image.png

若Json数据比较复杂,涉及到较多层级,这时SQL/JSON path函数表达式发挥优势,比如查询表t_track的track.segments

SELECT jsonb_pretty(jsonb_path_query(a,'$.track.segments')) FROM t_track ;

image.png

track.segments 是个数组,可以通过方括号[]查询相应数组元素

image.png

查询下一层级的元素

image.png

使用 SQL/JSON path 函数表达式查询 Json 数据时,可以指定 filter 条件查询满足条件的 Json 元素,例如查询 HR 元素值大于 100 的 track.segments 元素

image.png

若只想显示指定元素信息,例如仅显示 “start time” 元素

image.png

可以指定多个过滤条件

image.png

jsonb_path_exists() 函数判断是否存在指定 Json 路径

image.png

更多详细信息请登录【瀚高技术支持平台】查看https://support.highgo.com/#/index/docContent/7bc0ff29056602bd

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994931/viewspace-2784707/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: HGDB表空间迁移
请登录后发表评论 登录
全部评论
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。

注册时间:2021-02-18

  • 博文量
    184
  • 访问量
    126061