#json #tsql
#json #tsql
Вопрос:
Пытаюсь заставить следующее работать в MS SQL 2016, но мне нужен гуру MS SQL JSON, чтобы помочь.
У меня есть таблица с JSON в текстовой строке
[
{
"static-list-id": 37,
"internal-list-id": 41,
"timestamp": 1554831874747,
"vid": 9350104,
"is-member": true
},
{
"static-list-id": 39,
"internal-list-id": 43,
"timestamp": 1554831874931,
"vid": 9350104,
"is-member": true
}
]'
Вот мой оператор SQL, думаю, мне может понадобиться JSON_QUERY
SELECT
JSON_VALUE([MyNVarCharWithJSONColumn],'strict $."static-list-id"') AS static_list_id
FROM
[MyTable] C
WHERE ISJSON([MyNVarCharWithJSONColumn])>0
Это результаты, которые я хотел бы получить из инструкции SQL, по одной строке на
static_list_id
--------------
37
39
Большое спасибо за любую помощь
Ответ №1:
Вы могли бы использовать:
SELECT a.static_list_id
FROM MyTable
CROSS APPLY OPENJSON(MyNVarCharWithJSONColumn)
WITH (static_list_id INT N'$."static-list-id"') AS a;
Комментарии:
1. Это то, о чем я просил, спасибо. Как я могу добавить еще один столбец из JSON в список?
2. @Simon, вы можете поместить все необходимые столбцы в предложение WITH (через запятую).