Получить уникальные значения из типа данных nvarchar в SQL Server

У меня есть таблица в базе данных SQL-сервера, и в ней есть поле типа nvarchar. Он сохраняет значения в формате, как показано ниже:

   ROW 1 - ["value1", "value2", "value3"]
   ROW 2 - ["value4","value5"]
   ROW 3 - ["value2", "value1"]
   ROW 4 - ["value3", "value6", "value7"]

Мне нужно выбрать все уникальные значения отсюда. Поэтому мне нужно получить следующие значения в результате.

Result
------
value1
value2
value3
value4
value5
value6
value7

Я пробовал с запросом DISTINCT, но он терпит неудачу. Я очень новичок в SQL-сервере, и было бы очень полезно, если бы кто-нибудь помог мне здесь. Спасибо

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

Ответы 1

Ответ принят как подходящий

Эти значения являются допустимыми массивами JSON, поэтому вы должны иметь возможность использовать OPENJSON для извлечения значений:

SELECT value
FROM MyTable
CROSS APPLY OPENJSON(MyCol);

Пример:

DECLARE @MyTable TABLE (MyCol NVARCHAR(MAX));
INSERT @MyTable (MyCol)
VALUES(N'["value1", "value2", "value3"]'),
      (N'["value4","value5"]'),
      (N'["value2", "value1"]'),
      (N'["value3", "value6", "value7"]');

SELECT value
FROM @MyTable
CROSS APPLY OPENJSON(MyCol);

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