PgSql jsonb類型查詢

十年河東,十年河西,莫欺少年窮

學無止境,精益求精

json函數及操作,詳情請參考:http://www.postgres.cn/docs/12/functions-json.html

表結構如下:

create table chargeing
(
id UUID primary key not null,
heart jsonb not null,    
createtime timestamp  not null
);
create index chargeing_heart_index on chargeing using gin(heart);

該表創建了索引,

一個爲Jsonb類型的gin索引(注意:jsonb和json類型創建索引時,應使用 gin 類型索引)

數據表數據結構如下

其中,有如下結構json數據

{
  "n1": 1,
  "n2": 3,
  "n3": 4,
  "n4": 2,
  "csq": "28,99",
  "nos": "306051450,306050647,306050607,306050623,306050611,306050095,306051644,306050354,306051468,306050791,306051841,306051137,306051138,306050139,306050921,306050470,306051473,306050594,306051799,306051396,306050679,306050615,306050958,306050920,306050924",
  "sts": "2,5,6,6,4,6,3,6,6,6,6,4,6,6,6,5,3,6,6,1,4,6,4,6,3",
  "points": [
    {
      "ID": 7,
      "RI": 14,
      "RT": 23,
      "RV": 5323,
      "TI": 70,
      "TT": 39,
      "TV": 4761,
      "WH": 82,
      "typ": "",
      "RXSN": 1306080009,
      "TXSN": 306051644
    },
    {
      "ID": 17,
      "RI": 12,
      "RT": 23,
      "RV": 5267,
      "TI": 64,
      "TT": 44,
      "TV": 4788,
      "WH": 16,
      "typ": "",
      "RXSN": 1306080079,
      "TXSN": 306051473
    },
    {
      "ID": 25,
      "RI": 219,
      "RT": 36,
      "RV": 6686,
      "TI": 378,
      "TT": 40,
      "TV": 4638,
      "WH": 54,
      "typ": "",
      "RXSN": 2305310090,
      "TXSN": 306050924
    }
  ],
  "deviceNo": "C23009C0001"
}
View Code

 1、json 和 josnb 查詢操作符

 2、jsonb 額外的操作符

函數

 

 

3、查詢需求

3.1、查詢points數組中的第一個元素

SELECT
 
heart -> 'points' ->> 0 as rx 
 
FROM
 
chargeing;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章