javascript
支持的sql语法_PostgreSQL 12 新特性解读之一|支持 SQL/JSON path
作者介紹
譚峰,網(wǎng)名francs,《PostgreSQL實(shí)戰(zhàn)》作者之一,《PostgreSQL 9 Administration Cookbook》譯者之一,PostgreSQL 中文社區(qū)委員,致力于PostgreSQL技術(shù)分享,博客 https://postgres.fun
PostgreSQL 之前版本已支持 Json 和 Jsonb 數(shù)據(jù)類(lèi)型,支持非關(guān)系數(shù)據(jù)的存儲(chǔ)和檢索,如果 Json 數(shù)據(jù)較復(fù)雜(層級(jí)多、嵌套json、包含數(shù)組等 ),之前版本不能方便的檢索 Json 數(shù)據(jù)元素值。
PostgreSQL 12 版本的一個(gè)重量級(jí)特性是新增 SQL/JSON path 特性,支持基于 Json 元素的復(fù)雜查詢(xún),文檔上關(guān)于 SQL/JSON path 內(nèi)容很豐富,本文僅演示簡(jiǎn)單的用例。
發(fā)行說(shuō)明
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 語(yǔ)法
SQL/JSON path 特性的核心是定義函數(shù)表達(dá)式,其實(shí)現(xiàn)方式是使用了 jsonpath 數(shù)據(jù)類(lèi)型,jsonpath 以二進(jìn)制格式展現(xiàn) SQL/JSON 函數(shù)表達(dá)式。
SQL/JSON path 函數(shù)表達(dá)式使用了 JavaScript 的一些語(yǔ)法,如下:
l 點(diǎn)號(hào) . 表示引用 Json 數(shù)據(jù)的元素
l 方括號(hào) [] 表示引用數(shù)組元素
l Json 數(shù)據(jù)中的數(shù)組元素下標(biāo)從0開(kāi)始
SQL/JSON path 函數(shù)表達(dá)式的變量,如下:
l $ 符號(hào)表示要查詢(xún)的Json文本的變量
l $varname 表示指定變量
l @ 指在 filter 表達(dá)式中表示當(dāng)前路徑元素的變量
SQL/JSON Path Expressions 基本演示
為了方便演示,創(chuàng)建以下測(cè)試表并插入一條 Json 測(cè)試數(shù)據(jù),如下:
CREATE TABLE t_track ( a jsonb);INSERT INTO t_track (a) VALUES ('{ "gpsname": "gps1總結(jié)
以上是生活随笔為你收集整理的支持的sql语法_PostgreSQL 12 新特性解读之一|支持 SQL/JSON path的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 请问投稿中要求上传的author_SCI
- 下一篇: 修改after样式_理解:Before和