根据我多次阅读的Oracle DOC。 您能否用简单的解释向我解释一下主要区别(如果可能的话,举一些例子) 在 JSON_ARRAYAGG 和 JSON_ARRAY 之间 结束在哪里 2 这些更好用。
从 Oracle 12 开始,引入了这些函数:
JSON_ARRAY
是一个标量函数,用于组合单行中的值。您可以将其与加法运算符进行比较,其中等效的是 +
运算符。JSON_ARRAYAGG
是一个聚合函数,合并多行。您可以将其与加法运算符进行比较,其中等效的是 SUM
聚合函数,用于跨多行添加值。如果您有样本数据:
CREATE TABLE table_name (a, b) AS
SELECT 1, 2 FROM DUAL UNION ALL
SELECT 3, 4 FROM DUAL UNION ALL
SELECT 5, 6 FROM DUAL;
然后:
SELECT JSON_ARRAY(a, b) AS ab FROM table_name;
输出:
AB |
---|
[1,2] |
[3,4] |
[5,6] |
并且:
SELECT JSON_ARRAYAGG(a) AS all_a, JSON_ARRAYAGG(b) AS all_b FROM table_name;
输出:
ALL_A | ALL_B |
---|---|
[1,3,5] | [2,6,4] |