Возможно, это что-то глупое, чего я не видел, но мне не удается заставить работать JSON_VALUE
или JSON_QUERY
, так как я ожидаю, как это должно работать:
DECLARE @json nvarchar(max) = N'{"1031":"test-de","1033":"test-en","1036":"test-fr"}'
SELECT *
FROM OPENJSON(@json)
возвращает правильные 3 строки.
DECLARE @json nvarchar(max) = N'{"1031":"test-de","1033":"test-en","1036":"test-fr"}'
SELECT ISJSON(@json) is_json
, JSON_VALUE(@json, '$') label
, JSON_QUERY(@json, '$') label2
возвращает 1 строку, но label
равно NULL
, а label2
показывает всю строку. ОК, но:
DECLARE @json nvarchar(max) = N'{"1031":"test-de","1033":"test-en","1036":"test-fr"}'
SELECT ISJSON(@json) is_json
, JSON_VALUE(@json, '$.1031') label
, JSON_QUERY(@json, '$.1033') label2
возвращает 0 строк.
EDIT
Я ожидал получить такие результаты:
is_json, label, label2
1, test-de, test-en