gpt4 book ai didi

json - 如何使用 Oracle 12c 获取存储为 CLOB 的 JSON 数组中的元素数量?

转载 作者:行者123 更新时间:2023-12-05 00:34:20 24 4
gpt4 key购买 nike

我将一个 java 类 A 作为 A_DOC 存储在我的数据库的 clob 列中。

A的结构如下:

{

id : 123

var1: abc

subvalues : [{

id: 1
value : a

},
{
id: 1

value :b
}

...

}
]}

我知道我可以做这样的事情
select json_query(a.A_DOC, '$.subvalues.value') from table_name a;

等等,但我如何寻找一种方法来通过 sql 查询计算 subvalues 数组中的元素数量。这可能吗?

最佳答案

您可以使用 JSON_TABLE:

SELECT
id, var1, count(sub_id) subvalues
FROM
JSON_TABLE (
to_clob('{ id: 123, var1: "abc", subvalues : [{ id: 1, value: "a", }, { id: 2, value: "b" } ]}'),
'$'
COLUMNS (
id NUMBER PATH '$.id',
var1 VARCHAR PATH '$.var1',
NESTED PATH '$.subvalues[*]'
COLUMNS (
sub_id NUMBER PATH '$.id'
)
)
)
GROUP BY id, var1

关于json - 如何使用 Oracle 12c 获取存储为 CLOB 的 JSON 数组中的元素数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38780305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com