#sql #sql-server #stored-procedures
#sql #sql-сервер #хранимые процедуры
Вопрос:
У меня есть JSON, подобный этому
DECLARE @json VARCHAR(MAX) = '{
"prefix": "data",
"body": [
"Hello_1",
"Hello_2",
"Hello_3",
"Hello_4"
]
}'
Теперь я хочу добавить только массив «body» в таблицу и получить этот вывод из таблицы
Комментарии:
1. Привет, @dale, я получил запрос после нескольких попыток, он прост в использовании запроса SELECT-INSERT
Ответ №1:
DECLARE @json VARCHAR(MAX) = '{
"prefix": "data",
"body": [
"Hello_1",
"Hello_2",
"Hello_3",
"Hello_4"
]
}'
select value Name
from openjson(@json,'$.body')
или более явный:
DECLARE @json VARCHAR(MAX) = '{
"prefix": "data",
"body": [
"Hello_1",
"Hello_2",
"Hello_3",
"Hello_4"
]
}'
select Name
from openjson(@json,'$.body')
with
(
Name VARCHAR(20) '
вывод
Name
--------------------
Hello_1
Hello_2
Hello_3
Hello_4
(4 rows affected)
Комментарии:
1. Спасибо @david-browne-microsoft, но я хотел вставить их в таблицу. Я получил запрос после нескольких попыток. Пожалуйста, смотрите в моем ответе ниже
Ответ №2:
После некоторых попыток я получил запрос как
SELECT [VALUE] AS NAME into #temp_table FROM OPENJSON(@json,'$.body')
SELECT * FROM #temp_table
)
вывод
Комментарии:
1. Спасибо @david-browne-microsoft, но я хотел вставить их в таблицу. Я получил запрос после нескольких попыток. Пожалуйста, смотрите в моем ответе ниже
Ответ №2:
После некоторых попыток я получил запрос как