【发布时间】:2020-02-19 10:47:12
【问题描述】:
我有这个查询以在 JSON 中附加数组:
DECLARE @TheTable table(TheJSON nvarchar(max), Condition int )
DECLARE @mystring nvarchar(100)='{"id": 3, "name": "Three"}'
INSERT INTO @TheTable SELECT '[{"id": 1, "name": "One"}, {"id": 2, "name": "Two"}]', 1
UPDATE @TheTable
SET TheJSON = JSON_MODIFY(TheJSON, 'append $', JSON_QUERY(N'{"id": 3, "name": "Three"}'))
WHERE Condition = 1;
SELECT TheJSON FROM @TheTable
它给了我 1 个单行的输出:
[{"id": 1, "name": "One"}, {"id": 2, "name": "Two"},{"id": 3, "name": "Three"}]
直到这部分它是正确的。
现在我想像普通表一样从该表中按行和列获取数据:
ID Name
1 One
2 Two
3 Three
如何以行列方式从 Json 中获取数据?
任何帮助将不胜感激
【问题讨论】:
-
对于 SQL server,您可以使用 OPENJSON 将 JSON 解析为表 - 见docs.microsoft.com/en-us/sql/relational-databases/json/…
标签: sql json sql-server