【发布时间】:2020-03-03 11:32:09
【问题描述】:
我想对表执行选择查询,我需要 JSON 格式的结果。 我只想在 SQL Server 2014 中使用查询来做到这一点。
我的数据如下。
DECLARE @Country TABLE (id INT, [CounrtyName] Varchar(30) )
INSERT INTO @Country VALUES (1,'India')
INSERT INTO @Country VALUES (1,'BAN')
INSERT INTO @Country VALUES (1,'USA')
INSERT INTO @Country VALUES (2,'Japan')
INSERT INTO @Country VALUES (2,'China')
INSERT INTO @Country VALUES (3,'Switzerland')
INSERT INTO @Country VALUES (4,'')
我的结果应该如下:
id CounrtyName
1 {"India":"BAN":"USA"}
2 {"Japan":"China"}
3 {"Switzerland"}
4
谁能建议我查询上述数据。
谢谢
【问题讨论】:
-
到目前为止你尝试过什么?
FOR JSON在 SQL Server 2014 中不可用(尽管正如 Martin 提到的,这不是有效的 JSON 数据),但归根结底,这只是用大括号 (:) 分隔的字符串 ({});STUFF和FOR XML PATH在 SQL Server 2014 中都可用。 -
这能回答你的问题吗? Comma separated results in SQL
-
这是无效的 JSON:
{"India":"BAN":"USA"} -
请注意,您建议的格式不是 JSON。具体来说,JSON 是一种键/值格式;
{"India":"BAN":"USA"}无效。在 JSON 中,更自然地表示为{"Countries": ["India","BAN","USA"]}或类似名称。 -
抱歉,我需要 {"India","BAN","USA"} 格式,不带 Key
标签: sql-server