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

环境
系统平台: IBM:Linux on System z Red Hat Enterprise Linux 7
版本: 4.5
文档用途

HGDB安全版4.5,支持SQL/JSON path特性,下面介绍这个新特性

详细信息

新增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
请使用浏览器的分享功能分享到微信等