gpt4 book ai didi

SQL查询以获取Json数组的计数

转载 作者:行者123 更新时间:2023-12-04 04:10:39 25 4
gpt4 key购买 nike

我有下面的 Json 对象。如何获取对象数组的计数。

{
"Model": [
{
"ModelName": "Test Model",
"Object": [
{
"ID": 1,
"Name": "ABC"

},
{
"ID": 11,
"Name": "ABCD"
},
]
}]}

我尝试了以下查询,但似乎 JSON_Length 不可用。
SELECT ModelName,
JSON_LENGTH(JsonData, '$.Model[0].Object')
FROM TabA

预期的输出应该是
 ModelName      COUNT
Test Model 2

最佳答案

如果您有有效的 JSON(目前您有一个尾随逗号( , _ 在您的一个右大括号( } )之后),那么您可以使用 OPENJSONCOUNT :

DECLARE @JSON nvarchar(MAX) = N'{
"Model": [
{
"ModelName": "Test Model",
"Object": [
{
"ID": 1,
"Name": "ABC"

},
{
"ID": 11,
"Name": "ABCD"
}
]
}]}';

SELECT M.ModelName,
COUNT(O.[key]) AS [Count]
FROM (VALUES(@JSON))V(J)
CROSS APPLY OPENJSON(V.J)
WITH(ModelName varchar(20) '$.Model[0].ModelName',
[Object] nvarchar(MAX) '$.Model[0].Object' AS JSON) M
CROSS APPLY OPENJSON(M.[Object]) O
GROUP BY M.ModelName;

关于SQL查询以获取Json数组的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61794126/

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