mysql8 新特性-json數據類型操作
-- 根據key(可多個)獲取value
SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name','$.id');
-- 修改指定Key的Value值
select json_set('{"id": 14, "name": "Aztalan"}','$.id','222');
-- 查詢指定Key是否存在,存在返回1,不存在返回0
select json_contains_path('{"id": 14, "name": "Aztalan"}','one','$.i');
-- 根據key獲取value 簡寫
SELECT content -> "$.amount",content -> "$.type" from resource;
-- 查詢value值所在路徑 '%%'如包含其中字符就返回path,類似like。'_a' :以a結尾的數據
-- 參數one:匹配到第一個path就返回,可換成all 返回所有對應path
SET @j = '["abcc", [{"k": "10"}, "def"], {"x":"abc"}, {"y":"bcd"}]';
-- SELECT JSON_SEARCH(@j, 'one', '%k%');
SELECT JSON_SEARCH(@j, 'all', '_bc');
-- 查詢content 里 $[1] 路徑中 value為 10的具體路徑,找不到返回null
SELECT JSON_SEARCH(content, 'one', '10', null, '$[1]');
-- content 中 $.goods 路徑是否包含false
JSON_CONTAINS(content, 'false','$.goods')