JSON_REPLACE()¶
简介¶
替换JSON文档中的现有值并返回结果。
语法¶
JSON_REPLACE(json_doc, path, val[, path, val] ...)
说明¶
1. 如果json_doc或path为NULL,返回NULL。
2. 如果json_doc参数不是有效的JSON文档,或者任何路径参数不是有效的路径表达式,或者包含*或**通配符,则会发生错误。
3. json_replace可以多次指定路径并替换值,且每一次计算后产生的JSON值用作于下一次计算。
4. 对于文档中不存在的路径,替换操作将被忽略,并且不会产生任何影响。
示例¶
-- json_doc或path为NULL
SELECT JSON_REPLACE(NULL,'$[1]',1) FROM DUAL;
JSON_REPLACE(json) |
------------------------
null |
总数目:1
SELECT JSON_REPLACE('[1,2,3]',NULL,1) FROM DUAL;
JSON_REPLACE(json) |
------------------------
null |
总数目:1
SELECT JSON_REPLACE('[1,2,3]','$[1]',1,NULL,2) FROM DUAL;
JSON_REPLACE(json) |
------------------------
null |
总数目:1
-- 多次替换
SELECT JSON_REPLACE('[1,2,3]','$[1]',4,'$[1]',5,'$[2]',6) FROM DUAL;
JSON_REPLACE(json) |
------------------------
[1, 5, 6] |
总数目:1
SELECT JSON_REPLACE('{"a":"b","c":"d","e":"f"}','$.a','jkl','$.a','asd','$.c','bnm') FROM DUAL;
JSON_REPLACE(json) |
------------------------
{"a": "asd", "c": "bnm",|
"e": "f"} |
总数目:1
-- 替换文档中不存在路径下的值
SELECT JSON_REPLACE('[1,2,3]','$[10]',4) FROM DUAL;
JSON_REPLACE(json) |
------------------------
[1, 2, 3] |
总数目:1