我需要在SQL Server 2016中创建JSON格式的数字数组。为解决此问题,我创建了一个示例表,如下所示:
CREATE TABLE Temp (Id int, Coefficient float)
INSERT into Temp VALUES (1, 0.25), (2, 1.25), (3, 0.44)
由于我们没有数组数据类型,因此我进行了查询以将列转换为“字符串”数组并将其格式化为JSON:
DECLARE @CSV VARCHAR(MAX)
SELECT @CSV = COALESCE(@CSV + ', ', '') + CONVERT(varchar(10), Coefficient) from Temp
SELECT @CSV = '['+@CSV +']'
SELECT @CSV AS Result For JSON PATH, WITHOUT_ARRAY_WRAPPER
结果是:
{"Result":"[0.25, 1.25, 0.44]"}
但是应该是:
{"Result":[0.25, 1.25, 0.44]}
有什么想法要解决吗?
答案 0 :(得分:0)
我刚刚修改了查询,如下所示:
func
它按预期工作。