婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > postgres之jsonb屬性的使用操作

postgres之jsonb屬性的使用操作

熱門標(biāo)簽:江蘇400電話辦理官方 天津開發(fā)區(qū)地圖標(biāo)注app 400電話申請(qǐng)客服 廣州電銷機(jī)器人公司招聘 電話機(jī)器人怎么換人工座席 地圖標(biāo)注要花多少錢 電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎 濟(jì)南外呼網(wǎng)絡(luò)電話線路 移動(dòng)外呼系統(tǒng)模擬題

jsonb的一些簡(jiǎn)單操作(增刪改查)

1、更新操作(attributes屬性為jsonb類型)

方法定義:

jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean])

參數(shù):

target:目標(biāo)(jsonb類型的屬性)

path :路徑,如果jsonb是數(shù)組‘{0,a}'表示在下標(biāo)是0的位置更新a屬性,如果不是數(shù)組,是對(duì)象,則寫‘{a}'即可

new_value:新值

選填參數(shù):create_missing:jsonb字段不存在f1屬性時(shí)創(chuàng)建,默認(rèn)為true

返回:更新后的jsonb

官方文檔給出的示例(jsonb數(shù)組):

jsonb_set('[{"f1":1,"f2":null},2,null,3]', '{0,f1}','[2,3,4]', false)
結(jié)果:[{"f1":[2,3,4],"f2":null},2,null,3]
jsonb_set('[{"f1":1,"f2":null},2]', '{0,f3}','[2,3,4]')
結(jié)果:[{"f1": 1, "f2": null, "f3": [2, 3, 4]}, 2]

更新jsonb屬性:

-- attributes為jsonb類型字段(對(duì)象轉(zhuǎn)成的json)
原值:{"a":"1"}
update user_test set attributes = jsonb_set(attributes,'{a}','"0"'::jsonb, false) where id = '8888';
執(zhí)行后:{"a":"0"}

為jsonb插入屬性:

-- 執(zhí)行后attributes字段中添加了platform:baidu
update user_test set attributes =  attributes::jsonb || '{"platform":"baidu"}'::jsonb;
或者:
update user_test set attributes = jsonb_set(attributes, '{platform}','"baidu"');

查詢

select value from json_each('{"a":"foo", "b":"bar"}') where key = 'a'
select * from json_object_keys('{"a":"foo", "b":"bar"}')
select * from json_object_keys('{"f1":"abc","f2":{"f3":"a", "f4":"b"}}')
select  * from json_object_keys(from ci_type.attributes);--錯(cuò)誤
select * from to_jsonb('"a":1,"b":2') 
 select '{"a":1,"b":2}'::json->>'b' --獲取jsonb中對(duì)應(yīng)鍵的值(文本)
 --select * from json_each( to_jsonb(select distinct attributes from ci_type ) )
 --select to_jsonb(select distinct attributes from ci_type ) 
 
--擴(kuò)展字段提取相應(yīng)屬性的值
  select  attributes :: json->>'instanceType' from ci_type 
-- 屬性值轉(zhuǎn)為jsonb
select to_jsonb('id:'||id::text) from ci
--jsonb添加屬性,刪除屬性
select '{"a":"foo", "b":"bar"}'::jsonb || '{"c":"fc", "d":"bdd"}'::jsonb--添加
select '{"a":"foo", "b":"bar"}'::jsonb -'c'-'d'-'a'||'{"a":2}'--刪除
select '{"a": "b","c":3}'::jsonb - 'a'
-- 根據(jù)路徑獲取json對(duì)象:#>
SELECT '{"a":1,"b":{"ba":"b1","bb":"b2"},"c":3}'::JSON #> '{b,ba}'
結(jié)果:"b1"
SELECT '{"a":1,"b":{"ba":"b1","bb":"b2"},"c":3}'::JSON #> '{b}'
結(jié)果:{"ba":"b1","bb":"b2"}
-- 根據(jù)路徑獲取json對(duì)象為text:#>>
SELECT '{"a":1,"b":{"ba":"b1","bb":"b2"},"c":3}'::JSON #>> '{b,ba}'
結(jié)果:"b1"

補(bǔ)充一下吧

1、to_jsonb()方法接受一個(gè)參數(shù),將參數(shù)轉(zhuǎn)換為jsonb

jsonb存儲(chǔ)毫秒值字段
# 更新user表中attributes字段中的create_time字段為當(dāng)前時(shí)間
update user_test
set attributes = jsonb_set(attributes,'{create_time}',to_jsonb(extract(epoch from now())*1000), true)

2、extract(epoch from now())*1000 獲取毫秒值

EXTRACT(field FROM source)

field 表示取的時(shí)間對(duì)象,source 表示取的日期來(lái)源,類型為 timestamp、time 或 interval。

EXAMPLE:select extract(year from now());

extract(epoch from now())查看現(xiàn)在距1970-01-01 00:00:00 UTC 的秒數(shù)

epoch:新紀(jì)元時(shí)間 Epoch 是以 1970-01-01 00:00:00 UTC 為標(biāo)準(zhǔn)的時(shí)間,將目標(biāo)時(shí)間與 1970-01-01 00:00:00時(shí)間的差值以秒來(lái)計(jì)算 ,單位是秒,可以是負(fù)值;

postgresql操作jsonb數(shù)組

先看表結(jié)構(gòu):

create table person 
(id int, --  唯一標(biāo)識(shí)
label jsonb); -- 人的標(biāo)簽數(shù)組(指明某人是哪個(gè)公司的),標(biāo)簽時(shí)一個(gè)一個(gè)的對(duì)象

label字段數(shù)據(jù)實(shí)例

[{"id":1,"code":"p123","name":"ali"},{"id":2,"code":"p123","name":"ali"}]

要求:寫sql實(shí)現(xiàn)添加一個(gè)標(biāo)簽,刪除一個(gè)標(biāo)簽,清空標(biāo)簽;

1、添加一個(gè)標(biāo)簽

直接使用 || 符號(hào)將兩個(gè)jsonb連接成一個(gè)jsonb

-- 當(dāng)label為null時(shí)
update person set label =  '{"id":1,"code":"p123","name":"ali"}'::jsonb;
-- label不為null時(shí)運(yùn)行
update person set label =  '{"id":1,"code":"p123","name":"ali"}'::jsonb || label

注意:當(dāng)label為null時(shí)這樣執(zhí)行最后得到的也是null

2、清空標(biāo)簽

這個(gè)比較簡(jiǎn)單,我直接設(shè)置為null

update person set label = null;

3、刪除一個(gè)標(biāo)簽

這個(gè)就比較麻煩一點(diǎn),我用到了

-> ->> jsonb_array_elements() jsonb_build_array() array()

不熟悉這些符號(hào)和函數(shù)的用法的看:http://www.postgres.cn/docs/10/datatype-json.html

update person 
set label = jsonb_build_array(
    array( -- 不使用該函數(shù),當(dāng)篩選出有多于2跳數(shù)據(jù)時(shí)會(huì)報(bào)錯(cuò),因?yàn)閖sonb_build_array函數(shù)只能有一個(gè)json
        (select * from 
         (select jsonb_array_elements(label)j from person where id = 1)as a 
         where (j->>'id')::int > 1) -- 篩選出要?jiǎng)h除的對(duì)象
    )
)->0 -- 如果不加這個(gè)你會(huì)得到兩個(gè)[[]]的數(shù)組
where id = 1;

以上就是我解決pg中操作jsonb數(shù)組的方法,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家.

您可能感興趣的文章:
  • PostgreSQL 更新JSON,JSONB字段的操作
  • postgresql 實(shí)現(xiàn)修改jsonb字段中的某一個(gè)值
  • postgresql的jsonb數(shù)據(jù)查詢和修改的方法
  • 如何獲取PostgreSQL數(shù)據(jù)庫(kù)中的JSON值

標(biāo)簽:辛集 榆林 溫州 海西 杭州 昭通 濮陽(yáng) 寶雞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《postgres之jsonb屬性的使用操作》,本文關(guān)鍵詞  postgres,之,jsonb,屬,性的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgres之jsonb屬性的使用操作》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于postgres之jsonb屬性的使用操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美亚洲综合网| 国产成人av资源| 美脚の诱脚舐め脚责91| 欧美影片第一页| 伊人色综合久久天天| 91久久久免费一区二区| 亚洲男女一区二区三区| 色婷婷av一区二区| 亚洲电影在线免费观看| 欧美精品第1页| 日韩高清在线观看| 欧美成人在线直播| 国产精品一色哟哟哟| 久久人人爽爽爽人久久久| 国产一区在线观看视频| 欧美国产亚洲另类动漫| 色综合激情五月| 无吗不卡中文字幕| 2014亚洲片线观看视频免费| 成人av在线看| 亚洲一区自拍偷拍| 日韩欧美一区二区久久婷婷| 国产黄色精品视频| 一区二区三区日韩精品视频| 911国产精品| 菠萝蜜视频在线观看一区| 午夜精品久久久久久久 | 9191成人精品久久| 国产女主播一区| www.66久久| 日本91福利区| 1区2区3区精品视频| 欧美视频一区二区三区四区| 亚洲电影在线免费观看| 久久亚区不卡日本| 欧美性猛片xxxx免费看久爱| 韩国在线一区二区| 亚洲欧美色一区| 亚洲精品一线二线三线| 不卡一区二区三区四区| 亚洲与欧洲av电影| 久久综合色8888| 在线一区二区视频| 高清不卡一区二区在线| 亚洲成人一二三| 亚洲国产精品t66y| 欧美浪妇xxxx高跟鞋交| av一本久道久久综合久久鬼色| 日本午夜精品视频在线观看| 伊人色综合久久天天人手人婷| 精品毛片乱码1区2区3区| 色婷婷综合久久久中文字幕| 久久国产尿小便嘘嘘| 亚洲美女在线国产| 久久蜜桃av一区精品变态类天堂| 91浏览器入口在线观看| 丁香激情综合五月| 国产剧情在线观看一区二区| 日本成人中文字幕| 亚洲国产日韩av| 亚洲色图视频网| 日本一区二区电影| 久久你懂得1024| 91精品国产综合久久久久久久久久| 色天天综合久久久久综合片| 国产91精品在线观看| 日av在线不卡| 日韩va亚洲va欧美va久久| 欧美国产日本视频| 日韩欧美中文字幕精品| 欧美日韩一区二区在线观看视频| 国产精品影视在线| 国产成人aaa| 高清在线不卡av| 日本v片在线高清不卡在线观看| 亚洲制服丝袜一区| 亚洲香蕉伊在人在线观| 亚洲一区成人在线| 性做久久久久久久久| 午夜私人影院久久久久| 婷婷开心久久网| 日韩**一区毛片| 精品夜夜嗨av一区二区三区| 国产在线看一区| 成人午夜激情在线| 91美女在线观看| 日本大香伊一区二区三区| 欧美丰满一区二区免费视频| 日韩一区二区在线看| 日韩小视频在线观看专区| 51精品久久久久久久蜜臀| 久久综合九色综合久久久精品综合 | 日本伊人午夜精品| 久久机这里只有精品| 免费观看91视频大全| 国产高清不卡二三区| 成人性生交大片免费看在线播放| 日本韩国精品在线| 欧美大片在线观看一区二区| 2023国产精华国产精品| 国产精品国产三级国产有无不卡 | 国产一区二区三区久久悠悠色av| 成人免费看片app下载| 欧美性生活久久| 精品国产乱码久久久久久久久| 亚洲少妇屁股交4| 黄网站免费久久| 91成人国产精品| 欧美xxxxx牲另类人与| 亚洲视频你懂的| 日产国产高清一区二区三区| 成人一二三区视频| 欧美精品三级日韩久久| 日韩精品一区二区三区视频播放| 国产精品视频九色porn| 亚洲一区二区视频| 成人一级片在线观看| 日韩免费观看高清完整版| 中文字幕av在线一区二区三区| 日韩—二三区免费观看av| 白白色亚洲国产精品| 久久新电视剧免费观看| 日韩电影一二三区| av电影在线观看一区| 欧美三级欧美一级| 亚洲国产精品二十页| 日韩电影在线观看电影| 日韩av网站在线观看| 成人av电影在线网| 国产精品久久久久婷婷二区次| 综合在线观看色| 国产99久久精品| 久久色.com| 国产老女人精品毛片久久| 欧美一三区三区四区免费在线看| 1024成人网色www| 极品美女销魂一区二区三区免费| 欧美美女激情18p| 一区二区激情小说| 成人激情免费电影网址| 久久久久久久久伊人| 国产原创一区二区| 51精品视频一区二区三区| 亚洲一区二区三区四区在线免费观看 | 精品日韩99亚洲| 韩国女主播成人在线观看| 欧美xxxx在线观看| 亚洲成年人影院| 99re8在线精品视频免费播放| 中文字幕欧美区| 成人美女视频在线观看18| 久久精品水蜜桃av综合天堂| 精品无人码麻豆乱码1区2区| www日韩大片| 爽好久久久欧美精品| 欧美系列日韩一区| 理论电影国产精品| 日韩一级成人av| 久久99精品久久只有精品| 国产婷婷色一区二区三区在线| 五月综合激情婷婷六月色窝| 欧美男人的天堂一二区| 日韩成人一级片| 欧美一级艳片视频免费观看| 国产黑丝在线一区二区三区| 亚洲男同性视频| av午夜一区麻豆| 亚洲视频在线观看三级| 欧美日韩精品一区二区在线播放| 日韩精品亚洲一区二区三区免费| 欧美艳星brazzers| 欧美韩国一区二区| 国产九色sp调教91| 国产色综合久久| 欧美色老头old∨ideo| 久久成人免费日本黄色| 国产精品毛片久久久久久久| 色综合天天综合色综合av | 欧美伊人久久大香线蕉综合69| 青青青伊人色综合久久| 国产精品免费观看视频| 欧美精品欧美精品系列| www.在线成人| 精品一区二区三区蜜桃| 一区二区三区在线看| 久久午夜色播影院免费高清| 99久久777色| 国内久久精品视频| 亚洲综合在线电影| 精品奇米国产一区二区三区| 欧美婷婷六月丁香综合色| 蜜桃av一区二区三区电影| 成人免费小视频| 久久久高清一区二区三区| 欧美日韩专区在线| 不卡在线视频中文字幕| 国产精品99久| 精品一区二区三区免费播放| 青青草视频一区| 亚洲va欧美va天堂v国产综合|