1

I have the comma separated string as shown below to convert into a column.

Example:

Given String:

DECLARE @STR VARCHAR(MAX) = 'ABC,DEF,GHI,JKL,MNO'

Have to convert into a single column:

columnName
-----------
ABC
DEF
GHI
JKL
MNO
MAK
  • 6,824
  • 25
  • 74
  • 131
  • Many dups about *splitting* a string; [Tsql split string](http://stackoverflow.com/questions/10914576/tsql-split-string) – Alex K. Dec 02 '14 at 17:35

1 Answers1

2

Try this. Used LTRIM and RTRIM function to remove Leading and Trailing spaces.

DECLARE @STR VARCHAR(MAX) = 'ABC,DEF,GHI,JKL,MNO'

SELECT Rtrim(Ltrim(Split.a.value('.', 'VARCHAR(100)'))) Split_Data
FROM   (SELECT Cast ('<M>' + Replace(@STR, ',', '</M><M>') + '</M>' AS XML) AS Data) AS A
       CROSS APPLY Data.nodes ('/M') AS Split(a) 

OUTPUT :

Split_Data
----------
ABC
DEF
GHI
JKL
MNO
Pரதீப்
  • 91,748
  • 19
  • 131
  • 172