在 SQL 服务器中打开 Json 一个 Json 字段到 table
Open Json a Json field in SQL Server to table
我在 SQL 服务器中有一个 table,其中一行包含一个 Json 列 - 像这样:
响应文本
RequestId
{"LosUnqCod":0,"LosMidId":23}
96173722
{"LosUnqCod":1,"LosMidId":5}
96173721
我想要一个table这个形状:
LosUnqCod
LosMidId
RequestId
0
23
96173722
1
5
96173721
如何打开这个json?
大家好我找到了我的答案并想与任何和我有同样问题的人分享
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];
我在 SQL 服务器中有一个 table,其中一行包含一个 Json 列 - 像这样:
响应文本 | RequestId |
---|---|
{"LosUnqCod":0,"LosMidId":23} | 96173722 |
{"LosUnqCod":1,"LosMidId":5} | 96173721 |
我想要一个table这个形状:
LosUnqCod | LosMidId | RequestId |
---|---|---|
0 | 23 | 96173722 |
1 | 5 | 96173721 |
如何打开这个json?
大家好我找到了我的答案并想与任何和我有同样问题的人分享
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];