使用 JSON_VALUE 访问 JSON 数组

问题描述 投票:0回答:1

我在 SQL Server 数据库中有一个包含两列(Id+结果)的表(Deltails), 其中 Id 是主键,Result 包含 JSON 对象。

此结果栏

[{"ID":"2023","Answer":"False","Reason":"Need attachment"}]
[{"ID":"1005","Answer":"TRUE","Reason":""}]
[{"ID":"1879","Answer":"TRUE","Reason":""}]

我正在尝试仅从表 Deltails、结果列、值答案中获取。 为此,我编写了以下 SQL 查询,但没有得到结果。有谁知道如何将 JSON 对象值作为普通列值作为查询结果。

SELECT
    JSON_VALUE(X.value, '$.Answer') AS Name 
FROM Deltails
CROSS APPLY OPENJSON(Result) X

谢谢你

sql json sql-server sql-server-2016
1个回答
0
投票

结果列包含一个数组。如果您只对第 0 项感兴趣,则无需

openjson
。只需使用:

SELECT JSON_VALUE(t.result, '$[0].Answer') AS Name
FROM t
© www.soinside.com 2019 - 2024. All rights reserved.