How To Split A Comma Delimited String
In one of my previous posts I wrote about “How to Create a Comma Delimited List”. Now I’ll show you an example with reverse action, that is Splitting a Comma Delimited String or array() of values.
There can be different types of Delimiters also : like Comma ' , ', vertical bar ' | ', Single space or a Tab.
For example here is our Sample Table -
| Id | AllNames |
| 1 | A,B,C |
| 2 | A,B |
| 3 | X,Y,Z |
And here is the expected output -
| Id | Names |
| 1 | A |
| 1 | B |
| 1 | C |
| 2 | A |
| 2 | B |
| 3 | X |
| 3 | Y |
| 3 | Z |
Create Sample Data :
| -- Create Table for Sample Data -- Verify the Sample Data |
And here is the query for How to split a comma delimited string :
;WITH Cte AS
(
SELECT
id,
CAST('
FROM Test
)
SELECT
ID,
Split.a.value('.', 'VARCHAR(100)') AS Names
FROM Cte
CROSS APPLY Names.nodes('/M') Split(a)
Actually whatever expertise I gained on T-SQL and Sql Server is by participating / answering to the posts on online forums. I’m one of those freaks who hate to read books ;)
Comments