我在 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
谢谢你
结果列包含一个数组。如果您只对第 0 项感兴趣,则无需
openjson
。只需使用:
SELECT JSON_VALUE(t.result, '$[0].Answer') AS Name
FROM t