MariaDB JSON_ARRAY() 函数使用指南
在 MariaDB 中,JSON_ARRAY()
是一个内置函数,它返回一个包含了所有参数的 JSON 数组。
MariaDB JSON_ARRAY()
语法
这里是 MariaDB JSON_ARRAY()
的语法:
JSON_ARRAY(value1[, value2[, ...]])
参数
value1[, value2[, ...]]
- 可选的。一些值,他们将被放在 JSON 数组中。
返回值
JSON_ARRAY()
函数评估参数中的所有的值,并返回一个包含了所有参数的 JSON 数组。
这里可能有一些转换发生:
TRUE
被转换为true
FALSE
被转换为false
NULL
被转换为null
- 日期,时间,日期时间 被转换为 字符串
MariaDB JSON_ARRAY()
示例
这里列出了几个常见的 JSON_ARRAY()
示例。
示例 1
SELECT JSON_ARRAY(123, 'abc', NULL, TRUE, FALSE, NOW());
输出:
+---------------------------------------------------------------+
| JSON_ARRAY(123, 'abc', NULL, TRUE, FALSE, NOW()) |
+---------------------------------------------------------------+
| [123, "abc", null, true, false, "2022-04-18 07:47:23.000000"] |
+---------------------------------------------------------------+
包含数组的数组
SELECT JSON_ARRAY(JSON_ARRAY(123, 456), JSON_ARRAY('abc', 'dec'));
输出:
+------------------------------------------------------------+
| JSON_ARRAY(JSON_ARRAY(123, 456), JSON_ARRAY('abc', 'dec')) |
+------------------------------------------------------------+
| [[123, 456], ["abc", "dec"]] |
+------------------------------------------------------------+
这里, 我们使用了 JSON_ARRAY()
的结果作为 JSON_ARRAY()
的参数。
包含对象的数组
SELECT JSON_ARRAY(
JSON_OBJECT('name', 'Jim', 'age', 20),
JSON_OBJECT('name', 'Tim', 'age', 18)
) AS objct_array;
输出:
+----------------------------------------------------------+
| objct_array |
+----------------------------------------------------------+
| [{"age": 20, "name": "Jim"}, {"age": 18, "name": "Tim"}] |
+----------------------------------------------------------+
这里, 我们使用了 JSON_OBJECT()
的结果作为 JSON_ARRAY()
的参数。
转义字符
JSON_ARRAY()
函数使用反斜杠自动转义双引号。
SELECT JSON_ARRAY('The "right" time');
输出:
+--------------------------------+
| JSON_ARRAY('The "right" time') |
+--------------------------------+
| ["The \"right\" time"] |
+--------------------------------+
空字符串
JSON_ARRAY()
函数将传递的空字符串视为合法的字符串并把他们添加到数组中:
SELECT JSON_ARRAY('', '', '');
输出:
+------------------------+
| JSON_ARRAY('', '', '') |
+------------------------+
| ["", "", ""] |
+------------------------+
空数组
如果您不传递任何参数,JSON_ARRAY()
函数将返回一个空数组:
SELECT JSON_ARRAY();
输出:
+--------------+
| JSON_ARRAY() |
+--------------+
| [] |
+--------------+
结论
在 MariaDB 中,JSON_ARRAY()
是一个内置函数,它返回一个包含了所有参数的 JSON 数组。