У меня есть таблица PublicRelations
со столбцом под названием Students
в базе данных SQL Server под названием Subjects
.
[
{ "Label": "Name", "ColumnValue": "Trudie" },
{ "Label": "Class", "ColumnValue": "PublicRelations" },
{ "Label": "Room", "ColumnValue": "8049" },
{ "Label": "HttpPath", "ColumnValue": "https://www.google.com/" }
]
Я получаю NULL
только тогда, когда я запускаю запрос ниже, используя Json_value
. Я бы хотел, чтобы он отображал значение из массива. Я считаю, что это может быть связано с ограничением в 4000 символов?
SELECT [StuduentID],
[Students],
--JSON_VALUE([Students],'$.ColumnValue') AS Name --Only returns NULL
FROM [Subjects].[dbo].[PublicRelations] c
CROSS APPLY OPENJSON(c.Students)
WITH ( Name int '$.Name',
Value nvarchar(255) '$.ColmunValue'
) AS jsonValues
WHERE jsonValues.ColumnValue = 'Trudie'
Запрос работает, и я могу найти то, что мне нужно, но опять же, я получаю NULL
только тогда, когда хочу отобразить эту часть столбец JSON в моих результатах.