【问题标题】:Open Json a Json field in SQL Server to table [closed]在SQL Server中打开Json一个Json字段到表[关闭]
【发布时间】:2021-08-29 10:16:04
【问题描述】:

我在 SQL Server 中有一个表,其中一行包含一个 Json 列 - 如下所示:

ResponseText RequestId
{"LosUnqCod":0,"LosMidId":23} 96173722
{"LosUnqCod":1,"LosMidId":5} 96173721

我想要一张这种形状的桌子:

LosUnqCod LosMidId RequestId
0 23 96173722
1 5 96173721

如何打开这个json?

【问题讨论】:

  • Edit 问题并展示您已经尝试过的内容。解释失败的原因/位置。具体(错误消息、意外结果等)。

标签: json sql-server tsql primary-key open-json


【解决方案1】:

如果每个 SQL 行只有一个 JSON 对象(不是数组),则不必使用 OPENJSON,您可以改用 JSON_VALUE

SELECT        
    JSON_VALUE(a.responsetext, '$.LosUnqCod') LosUnqCod,
    JSON_VALUE(a.responsetext, '$.LosMidId') LosMidId,
    a.RequestId
FROM [dbo].[a];

【讨论】:

    【解决方案2】:

    大家好,我找到了我的答案,想与和我有同样问题的人分享

      SELECT        
        
            reqTbl.LosUnqCod ,
            a.RequestId
        
       FROM   [dbo].[a]  CROSS APPLY      
                         OPENJSON( dbo.a.responsetext) 
                         WITH (
                            LosUnqCod nvarchar(50)
                            ) AS reqTbl
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      • 2013-12-03
      • 2022-01-13
      相关资源
      最近更新 更多