我在SQL Server中有一个表,其中一行包含Json列,类似于以下内容:
ResponseText | RequestId |
---|---|
{"LosUnqCod":0,"LosMidId":23} | 96173722 |
{"LosUnqCod":1,"LosMidId":5} | 96173721 |
大家好,我找到了我的答案,并想与任何与我有相同问题的人分享
SELECT
reqTbl.LosUnqCod ,
a.RequestId
FROM [dbo].[a] CROSS APPLY
OPENJSON( dbo.a.responsetext)
WITH (
LosUnqCod nvarchar(50)
) AS reqTbl
如果每个SQL行只有一个JSON对象(而不是数组(,则不必使用OPENJSON
,而是可以使用JSON_VALUE
:
SELECT
JSON_VALUE(a.responsetext, '$.LosUnqCod') LosUnqCod,
JSON_VALUE(a.responsetext, '$.LosMidId') LosMidId,
a.RequestId
FROM [dbo].[a];