十年河東,十年河西,莫欺少年窮
學無止境,精益求精
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" }
1、json 和 josnb 查詢操作符
2、jsonb 額外的操作符
函數
3、查詢需求
3.1、查詢points數組中的第一個元素
SELECT heart -> 'points' ->> 0 as rx FROM chargeing;