В случае массива JSON и вызова OPENJSON()
со схемой по умолчанию, основанной на документации , результатом является таблица со столбцами key
, value
и type
, а также Столбец key
содержит индекс элемента в указанном массиве. Если вы хотите получить упорядоченный набор, вы должны использовать следующую инструкцию:
DECLARE @json nvarchar(max) = N'[{ "Field": "1" }, { "Field": "2" }, { "Field": "3" }]'
SELECT [value]
FROM OPENJSON(@json)
ORDER BY CONVERT(int, [key])
-- or
SELECT c.Field
FROM OPENJSON(@json) j
CROSS APPLY OPENJSON(j.[value]) WITH (Field int '$.Field') c
ORDER BY CONVERT(int, j.[key])