小编MHi*_*ers的帖子

如何在 MS-SQL 2016 中将列中的 JSON 值查询到一个 JSON 数组中?

我开始研究如何在 MSSQL 2016+ 中处理 JSON

我只是创建了一个具有 ID (int) 和 JSON (nvarchar) 列的表。

以下是我的查询以显示该问题:

第一个查询仅返回关系表结果,很好并且符合预期。

SELECT * FROM WS_Test

-- Results:

1   { "name": "thomas" }
2   { "name": "peter" }
Run Code Online (Sandbox Code Playgroud)

第二个查询仅返回 json 列,因为“JSON”创建了我的 MSSQL。
不太好,因为它将 json 列内容输出为字符串,而不是解析后的 JSON。

SELECT json FROM WS_Test FOR JSON PATH

-- Results: 

[{"json":"{ \"name\": \"thomas\" }"},{"json":"{ \"name\": \"peter\" }"}]
Run Code Online (Sandbox Code Playgroud)

第三个查询给了我两个结果行,其中 json 列内容为解析的 JSON,很好。

SELECT JSON_QUERY(json, '$') as json FROM WS_Test

-- Results:

{ "name": "thomas" }
{ "name": "peter" }
Run Code Online (Sandbox Code Playgroud)

第四个查询为我提供了 json 列内容作为一个(!)JSON 对象,完美解析。

SELECT …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server json

2
推荐指数
1
解决办法
6569
查看次数

标签 统计

json ×1

sql-server ×1

t-sql ×1