mssql comma separated string to rows  Edit
 Edit
                    
                    
                    using mssql query how can I convert a comma-separated string into individual rows. I have a comma separated string of countries "Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antarctica, Antigua And Barbuda, Argentina". I would like to convert this into rows of countries.
Solution Variable To Rows
You have a variable @countries with value comma separated countries. Below code converts the comma separated list of countries into rows of country. Below sample is from a variable to list or rows
declare @countries nvarchar(512) = 'Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antarctica, Antigua And Barbuda, Argentina'
select value as country from STRING_SPLIT(@countries , ',') 
                    
                    Solution Table Column To Rows
Below code creates a temporary table #Country and insert the coma separated list of countries into into the database. Below code converts the comma separated countries into rows of country. Below sample is from a Table column to list or rows
drop table IF EXISTS #Country
create table #Country
(
	countries nvarchar(512) NULL
)
insert into #Country(countries) values('Afghanistan, Albania, Algeria, American Samoa')
insert into #Country(countries) values('Andorra, Angola, Anguilla, Antarctica, Antigua And Barbuda, Argentina')
SELECT Value as Country
FROM #Country 
    CROSS APPLY STRING_SPLIT(countries , ',') 
                    
                     
            
         
                         11 March 2021 |
 11 March 2021 |  3049
3049