我有以下数据;
DECLARE @json NVARCHAR(2048) = N'{
"searchId": -1,
"statuses": [
33,
85,
90
]
}';
并从这里执行返回;
SELECT searchID
,x.statuses
FROM OpenJson(@json) WITH (
searchID VARCHAR(200) '$.searchId'
,statuses NVARCHAR(MAX) '$.statuses' AS JSON
)
CROSS APPLY OPENJSON(statuses, '$') WITH (statuses int '$') AS x
并返回;
searchID statuses
-1 33
-1 85
-1 90
它可以工作,但是 id 喜欢返回作为单行,因此“状态”列显示为
searchID statuses
-1 33,85,90
我主要使用 Stuff() 和 ForXML 尝试了几种方法,但是我认为肯定会有一种更清洁的方式来操作 json 吗?