【问题标题】:Json Value in SQL Server when we have a list当我们有一个列表时 SQL Server 中的 Json 值
【发布时间】:2021-11-13 11:19:52
【问题描述】:

我在 SQL Server 中有这样的数据:

ID Json_Data
1 [{"Book_id":"6842","index":1,"type":"BOOK"},{"Book_id":"103735","index":2,"type":"BOOK"}, {"Book_id":"104253","index":3,"type":"BOOK_GIFT"}, {"Book_id":"83886","index":4,"type":"BOOK"}]
2 [{"Book_id":"688","index":1,"type":"BOOK"},{"Book_id":"548","index":2,"type":"BOOK"}]

我需要解析这些数据以获得类似的东西:

id Value1 Value2 Value3 Value4
1 {"Book_id":"6842","index":1,"type":"BOOK"} {"Book_id":"103735","index":2,"type":"BOOK"} {"Book_id":"104253","index":3,"type":"BOOK_GIFT"} {"Book_id":"83886","index":4,"type":"BOOK"}
2 {"Book_id":"688","index":1,"type":"BOOK"} {"Book_id":"548","index":2,"type":"BOOK"} Null Null

【问题讨论】:

    标签: sql arrays json sql-server tsql


    【解决方案1】:

    您可以尝试使用:

    SELECT value
    FROM dbo.YourTableNameHere
    CROSS APPLY
        OPENJSON(Json_Data, '$')
    

    要获得基于行的输出 - 或者如果您可以确定您的条目永远不会超过 4 个,您也可以使用这个:

    SELECT
        JSON_QUERY(Json_Data, '$[0]'),
        JSON_QUERY(Json_Data, '$[1]'),
        JSON_QUERY(Json_Data, '$[2]'),
        JSON_QUERY(Json_Data, '$[3]')
    FROM
        dbo.YourTableNameHere
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2014-05-07
      • 1970-01-01
      • 2012-08-11
      相关资源
      最近更新 更多