作者介绍

谭峰,网名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语法_PostgreSQL 12 新特性解读之一|支持 SQL/JSON path相关推荐

  1. sql 截取json数据_PostgreSQL 12 新特性解读之一|支持 SQL/JSON path

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

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

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

  3. 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. ...

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

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

  5. Java 12 新特性与功能

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

  6. 谷歌手机升级android10,Android Q安卓10.0新特性,首批支持升级21款手机

    原标题:Android Q安卓10.0新特性,首批支持升级21款手机 2019年5月8日,一年一度的谷歌I/O开发者大会在美国加州如期召开,并发布了全新系列Android Q(安卓10.0)操作系统, ...

  7. SQL Server 2008 R2 新特性之一

    2008年8月6日,微软发布了SQL Server 2008正式版,时至今日,大部分企业还在使用SQL Server 2000和2005. SQL Server 2008 中还是增加了不少新特性的 , ...

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

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

  9. Java 11 正式发布,新特性解读

    Java 11 正式发布,新特性解读 杨晓峰   2018 年 9 月 26 日 话题:Java语言 & 开发 不知不觉 JDK 11 已经发布了,从 9 开始,JDK 进入了让人学不动的更新 ...

最新文章

  1. kaldi 源码分析(十) - gmm-init-mono.c分析
  2. 怎么快速学好php,学习编程的快速高效方法
  3. JS打印页面指定区域
  4. WPF界面设计技巧(3)—实现不规则动画按钮
  5. 图像二值形态学——腐蚀和膨胀的C语言实现
  6. 记一次validator jar冲突导致的启动异常
  7. 七牛上传图片html,使用七牛云上传图片
  8. TEA加密算法的C/C++实现
  9. c++基础(part1)--cpp简介
  10. 价值50万年薪的Java面试题
  11. React Native (一) react-native-video实现音乐播放器和进度条的功能
  12. iOS已发布应用中对异常信息捕获和处理(转)
  13. 基于vlmcsd搭建KMS服务器
  14. python下载哪个好_tensorflow用python哪个版本更好?
  15. Control Groups (Cgroups)-详解
  16. STM32CubeMX5.6.1生成的代码无启动文件
  17. 上帝给我们大龄程序员的出路,就在这!(附:现状分析)
  18. 建行找不到服务器或DNS错误,企业网上银行常见问题解答
  19. PHP 使用parse_ini_file读取文本文档遇到中文乱码问题
  20. kerberos认证相关概念和流程

热门文章

  1. Java HashMap原理及内部存储结构
  2. 基于Directshow框架使用Windows渲染器VMR叠加水印
  3. 5个经典的JavaScript面试题
  4. 树莓派下的apache
  5. Hejr 6-8 - aamsaafanqs Blog - Blogster
  6. 正则表达式,VI,SED及shell编程2010-12-05
  7. 探测 Lombok 工具
  8. 宇泽电影工作室网页HTML语言,4.4宇泽国际旅行社网页制作
  9. C语言循环队列的实现方法,C语言循环队列(数组实现)
  10. 【学习笔记】人类为什么最终选择了芯片