MariaDB/MySQL 内建函数 JSON_ARRAY_APPEND

MariaDB/MySQL 内建函数 JSON_ARRAY_APPEND() 将值附加到 JSON 数据中指定数组的末尾并返回结果。

(MariaDB >= 10.2.3)

示例

SET @json = '[1, 2, [3, 4]]';

SELECT JSON_ARRAY_APPEND(@json, '$[0]', 5);

运行结果如下

+-------------------------------------+
| JSON_ARRAY_APPEND(@json, '$[0]', 5) |
+-------------------------------------+
| [[1, 5], 2, [3, 4]]                 |
+-------------------------------------+

函数原型

JSON_ARRAY_APPEND(json_doc, path, value[, path, value] ...)

JSON_ARRAY_APPEND() 函数将值附加到 JSON 文档中指定数组的末尾并返回结果,如果任何参数为 NULL,则返回 NULL

参数 pathvalue 会按照顺序从左到右执行,后面的会在前面的结果上执行。

如果参数 json_doc 不是有效的 JSON 文档,或者任何路径 path 无效,或者包含 *** 通配符,则会返回错误。

范例准备

在范例开始前,我们先准备一个 JSON 文档

SET @json = '[1, 2, [3, 4]]';

范例 1

SELECT JSON_ARRAY_APPEND(@json, '$[0]', 5);

运行结果如下

+-------------------------------------+
| JSON_ARRAY_APPEND(@json, '$[0]', 5) |
+-------------------------------------+
| [[1, 5], 2, [3, 4]]                 |
+-------------------------------------+

范例 2

SELECT JSON_ARRAY_APPEND(@json, '$[1]', 6);

运行结果如下

+-------------------------------------+
| JSON_ARRAY_APPEND(@json, '$[1]', 6) |
+-------------------------------------+
| [1, [2, 6], [3, 4]]                 |
+-------------------------------------+

范例 3

SELECT JSON_ARRAY_APPEND(@json, '$[1]', 6, '$[2]', 7);

运行结果如下

+------------------------------------------------+
| JSON_ARRAY_APPEND(@json, '$[1]', 6, '$[2]', 7) |
+------------------------------------------------+
| [1, [2, 6], [3, 4, 7]]                         |
+------------------------------------------------+

范例 4

SELECT JSON_ARRAY_APPEND(@json, '$', 5);

运行结果如下

+----------------------------------+
| JSON_ARRAY_APPEND(@json, '$', 5) |
+----------------------------------+
| [1, 2, [3, 4], 5]                |
+----------------------------------+

范例 5

SET @json = '{"A": 1, "B": [2], "C": [3, 4]}';

SELECT JSON_ARRAY_APPEND(@json, '$.B', 5);

运行结果如下

+------------------------------------+
| JSON_ARRAY_APPEND(@json, '$.B', 5) |
+------------------------------------+
| {"A": 1, "B": [2, 5], "C": [3, 4]} |
+------------------------------------+
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.