Создайте строку JSON, используя переменную

Я пытаюсь получить следующую строку JSON:

[{

    "Name": "John", 

    "AccountType": 1

},
{

    "Name": "Steven", 

    "AccountType": 1

}
]

Я знаю, что AccountType всегда будет равен 1, и у меня есть строковая переменная в следующем формате «Джон; Стивен; Брайан; Майк»

Я пытался создать этот JSON, используя XML PATH и функцию splitToTable, но безуспешно. Как я могу достичь этого?

Заранее спасибо.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
0
407
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете использовать string_split() и for json:

declare @str nvarchar(max) = 'John;Steven;Brian;Mike';
select *
from (
    select value as [Name], 1 as [AccountType]
    from string_split(@str, ',')
) t
for json auto;
Ответ принят как подходящий

В SQL Server 2016 Microsoft добавила несколько полезных функций JSON. Таким образом, это может быть достигнуто очень легко:

DECLARE @Variable nvarchar(max) = 'John;Steven;Brian;Mike';
SELECT [value] as Name, 1 as AccountType  FROM STRING_SPLIT(@Variable,';')
FOR JSON PATH

Подробнее об этих функциях здесь — https://learn.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15

Другие вопросы по теме