Мне нужно создать массив чисел в формате JSON в SQL Server 2016. Чтобы решить эту проблему, я создал образец таблицы следующим образом:
CREATE TABLE Temp (Id int, Coefficient float)
INSERT into Temp VALUES (1, 0.25), (2, 1.25), (3, 0.44)
Поскольку у нас нет типа данных массива, ясделал запрос для преобразования столбца в массив «String» и отформатировал его в формате 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]}
Есть идеи, как это исправить?