У меня есть таблица tb1 с одним столбцом OppName как: (8 значений в
строка с csv)
["OpportunityName","Fact","","","StartDate","EndDate","IsActive","UpdateDate"]
Я пытаюсь разделить значения, разделенные запятыми, на отдельные
столбец как:
c1 c2 c3 c4 c5 c6 c7 c8
"OpportunityName" "Fact" ......... "UpdateDate"
То, что я сделал, это:
Шаг 1: удалено [] из строки как:
UPDATE tb1
SET [OppName] = REPLACE(REPLACE([OppName], '[', ''), ']', '')
# output: "OpportunityName","Fact","","","StartDate","EndDate","IsActive","UpdateDate"
Шаг 2: разбить строку на переменные и вставить все переменные в tb2 для каждой строки:
DECLARE @list varchar(8000)
DECLARE @pos INT
DECLARE @len INT
DECLARE @value varchar(8000)
DECLARE @x nvarchar(max)
SET @list = '"OpportunityName","Fact","","","StartDate","EndDate","IsActive","UpdateDate",'
set @pos = 0
set @len = 0
WHILE CHARINDEX(',', @list, @pos+1)>0
BEGIN
set @len = CHARINDEX(',', @list, @pos+1) - @pos
set @value = SUBSTRING(@list, @pos, @len)
set @value = REPLACE (@value, '"', '')
PRINT @value -- for debug porpose
set @pos = CHARINDEX(',', @list, @pos+@len) +1
--Append values to x
set @x = (@x +','+ @value)
END
PRINT @x
--Inserting in tb2
Insert into tb2 values(@x)
Но строка неправильно соединена
Может кто-нибудь помочь мне здесь