JSON_ARRAY_APPEND
功能描述
JSON_ARRAY_APPEND函数用来修改JSON文档,向指定的数组节点中追加一个元素,并返回修改后的JSON文档。
注意事项
- 该功能仅在数据库兼容模式为MySQL时支持(即数据库初始化时指定DBCOMPATIBILITY='B')。
- 在指定的数组位置末尾追加元素,假如指定的位置不是数组追加完过后就变成了数组。
- 如果任何参数为 NULL,则返回 NULL。
语法格式
JSON_ARRAY_APPEND(json_doc, path, val[, path, val] ...)
参数说明
json_doc
JSON文档,它可以是一个JSON字符串,或者一个JSON列。
path
路径参数。
val
将要追加到JSON文档的元素。
示例
1、设置GUC参数enable_set_variable_b_format=on;
。
set enable_set_variable_b_format = on;
show enable_set_variable_b_format;
返回结果为:
enable_set_variable_b_format
------------------------------
on
(1 row)
2、设置自定义变量j。
SET @j = '["a", ["b", "c"], "d"]';
3、调用JSON_ARRAY_APPEND函数。
SELECT JSON_ARRAY_APPEND(@j, '$[1]', 1);
SELECT JSON_ARRAY_APPEND(@j, '$[0]', 2);
SELECT JSON_ARRAY_APPEND(@j, '$[1][0]', 3);
返回结果分别为:
json_array_append
---------------------------
["a", ["b", "c", 1], "d"]
(1 row)
json_array_append
-----------------------------
[["a", 2], ["b", "c"], "d"]
(1 row)
json_array_append
-----------------------------
["a", [["b", 3], "c"], "d"]
(1 row)