作者介绍

谭峰,网名francs,《PostgreSQL实战》作者之一,《PostgreSQL 9 Administration Cookbook》译者之一,PostgreSQL 中文社区委员,致力于PostgreSQL技术分享,博客 https://postgres.fun

PostgreSQL 之前版本已支持 Json 和 Jsonb 数据类型,支持非关系数据的存储和检索,如果 Json 数据较复杂(层级多、嵌套json、包含数组等 ),之前版本不能方便的检索 Json 数据元素值。

PostgreSQL 12 版本的一个重量级特性是新增 SQL/JSON path 特性,支持基于 Json 元素的复杂查询,文档上关于 SQL/JSON path 内容很丰富,本文仅演示简单的用例。

发行说明

Add support for the SQL/JSON path language (Nikita Glukhov, Teodor Sigaev, Alexander Korotkov, Oleg Bartunov, Liudmila Mantrova)

This allows execution of complex queries on JSON values using an SQL-standard language.

SQL/JSON Path Expressions 语法

SQL/JSON path 特性的核心是定义函数表达式,其实现方式是使用了 jsonpath 数据类型,jsonpath 以二进制格式展现 SQL/JSON 函数表达式。

SQL/JSON path 函数表达式使用了 JavaScript 的一些语法,如下:

l 点号 . 表示引用 Json 数据的元素

l 方括号 [] 表示引用数组元素

l Json 数据中的数组元素下标从0开始

SQL/JSON path 函数表达式的变量,如下:

l $ 符号表示要查询的Json文本的变量

l $varname 表示指定变量

l @ 指在 filter 表达式中表示当前路径元素的变量

SQL/JSON Path Expressions 基本演示

为了方便演示,创建以下测试表并插入一条 Json 测试数据,如下:

CREATE TABLE t_track ( a jsonb);INSERT INTO t_track (a) VALUES ('{ "gpsname": "gps1

sql 截取json数据_PostgreSQL 12 新特性解读之一|支持 SQL/JSON path相关推荐

  1. 支持的sql语法_PostgreSQL 12 新特性解读之一|支持 SQL/JSON path

    作者介绍 谭峰,网名francs,<PostgreSQL实战>作者之一,<PostgreSQL 9 Administration Cookbook>译者之一,PostgreSQ ...

  2. Oracle 21C 新特性:数据泵相关新特性汇总

    墨墨导读:本文来自墨天轮用户"JiekeXu"投稿,墨天轮主页:https://www.modb.pro/u/434,本文分享Oracle 21c 新特性:数据泵相关新特性汇总. ...

  3. Java 12 新特性与功能

    Java 12 新特性与功能 Java 12是Java SE的第12个版本,于2019年3月19日发布.Java 12的发布背景主要是为了帮助开发人员更加高效的进行编程工作,提高Java的性能和稳定性 ...

  4. php要每次循环两个数据库,从前台接收的json数据 2个数组,php同时插入sql数据库,循环要怎么套呢?...

    从前台接收的json数据 2个数组,php同时插入sql数据库,循环要怎么套呢? mip版  关注:215  答案:2  悬赏:30 解决时间 2021-01-18 18:47 已解决 2021-01 ...

  5. Java 12正式发布,新特性解读!

    Java 12 如约而至,除了那些值得关注的特性,你也应该思考下 Java 的未来. 在 Java 9 之前,当一个版本被宣布为首选版本,存在一个"培育"(bedded-in)新 ...

  6. atitit.Oracle 9 10 11 12新特性attilax总结

    atitit.Oracle 9  10 11  12新特性 1. ORACLE 11G新特性 1 1.1. oracle11G新特性 1 1.2. 审计 1 1.3. 1.   审计简介 1 1.4. ...

  7. 十分钟接入iOS 12新特性——Siri Shortcuts

    前言 Xcode 10已经正式发布,开发者可以接入Siri Shortcuts的iOS 12新特性. WWDC2018的Introduction to Siri Shortcuts Session介绍 ...

  8. 新特性解读 | MySQL 8.0 对 limit 的优化

    作者:杨奇龙 网名"北在南方",资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优.故障诊断. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不 ...

  9. c语言 字符串 正序再倒序_新特性解读 | MySQL 8.0 索引特性3 -倒序索引

    原创作者:杨涛涛 我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引. MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉. 比如对于以下的查询,无法发挥索引 ...

最新文章

  1. 上如何刻字_如何用简单的方法在零件表面刻字:这里就有你想要的答案
  2. 仿麦包包首页table轮换图jQuery(转自www.jqueryba.com)
  3. chrome浏览器使用技巧
  4. java回收类_Java的内存回收——Java引用的种类
  5. linux双机ssh互信方法总结
  6. 继Science发文后,Nature也发文评论曹雪涛“误用图片”调查结果
  7. keyProperty=“id“ 和useGeneratedKeys=“true“作用
  8. 6-1 线性表元素的区间删除 (10 分)
  9. 深入了解Java的SPI机制
  10. java面向对象编程 漫画_Java面向对象编程(一)
  11. C语言 饭卡管理系统
  12. Rosetta Stone罗塞塔石碑学习语言Win+Mac最新v5.0.37完美破解版+全语言包
  13. metasfresh 集成 yetiforce crm
  14. UVA12676 Inverting Huffman
  15. 微信公众号自动回复添加文件
  16. 分子动力学(一)-定义与理解
  17. 用python使用py2neo时候报“ModuleNotFoundError:No module named 'py2neo'”的错误
  18. iOS发布证书不受信任,钥匙串显示发布证书不受信任解决办
  19. 房产抵押贷款利率划算吗
  20. python用百度云接口实现身份证识别

热门文章

  1. Thinkpad R400 2786k26系列在Debian Squeeze上解决无线网卡问题
  2. 【渝粤题库】陕西师范大学180203 现代广告学 作业
  3. 【转】隐马尔科夫模型(HMM)及其Python实现
  4. 发卡网-个人支付宝接入-实时到账
  5. W2k8应用vista主题
  6. 速达微信群发软件 v1.0 官方免费安装版
  7. PHP 自定义二维码生成
  8. 陀螺产业区块链第十三季 | 安徽省颍上县农产品追溯体系
  9. 小学奥数思维训练题(九)
  10. 随机生成区间范围的整数(含负数)