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