Как запросить значение из столбца типа массива JSON из таблицы в SQL Server? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть таблица с одной строкой данных, которая имеет столбец типа nvarchar (MAX), давайте назовем столбец как json_column, а значения столбца будут такими, как показано ниже:

{
"data": [
    {
        "name": "john",
        "num": "123"
    },
    {
        "name": "peter",
        "num": "345"
    },
    {
        "name": "donald",
        "num": "789"
    },
 ]
}

Теперь какя могу получить значение num, где имя передается в качестве ввода для предложения или запроса where?

Мой запрос должен возвращать только значение num.

Например: допустим, мне нужензначение num, где name равно 'john', и запрос должен вернуть мне 123.

1 Ответ

0 голосов
/ 04 октября 2018

Я только что нашел ответ, и запрос можно записать следующим образом:

SELECT OPENJSON((SELECT json_column From json_column_table),'$.data')
WITH 
(
 name nvarchar(100) '$.name',
 num  nvarchar(100) '$.num'
)
WHERE name='john';
...