Thursday 10 December 2020

Convert comma or other delimiters to a Table or List in SQL Server

--///////// Methode 1
 
drop table #TempTbl;
DECLARE @Str NVARCHAR(MAX) = N'1, 2, 3, 4, 5, 6, 7'
DECLARE @sql_xml XML = Cast('<K>'+ Replace(@Str, ',', '</K><K>')+ '</K>' AS XML)   
SELECT f.x.value('.', 'varchar(max)')[ID] INTO #TempTbl FROM @sql_xml.nodes('/K') f(x)   
SELECT * FROM #TempTbl
 
--///////// Methode 2
 
declare @TempTbl TABLE (ID int identity(1,1),Value NVARCHAR(MAX))
DECLARE @Str NVARCHAR(MAX) = N'1, 2, 3, 4, 5, 6, 7'
DECLARE @sql_xml XML = Cast('<K>'+ Replace(@Str, ',', '</K><K>')+ '</K>' AS XML)
insert into @TempTbl(Value) 
SELECT f.x.value('.', 'varchar(max)')[value] FROM @sql_xml.nodes('/K') f(x)   
SELECT * FROM @TempTbl



//////Result


 




No comments:

Post a Comment

Excel Sort values in ascending order using function TEXTJOIN

 Excel ::  Text ::  1,3,5,2,9,5,11 Result :: 1,2,3,5,5,9,11 Formula ::     TEXTJOIN ( ",",1,SORT(MID(SUBSTITUTE( A1 ,","...