SQL Server 2016:JSON格式的数字数组

时间:2019-07-09 17:21:06

标签: arrays json sql-server

我需要在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]}

有什么想法要解决吗?

1 个答案:

答案 0 :(得分:0)

我刚刚修改了查询,如下所示:

func

它按预期工作。