2014-12-02 3 views
1

У меня есть строка с разделителями-запятыми, как показано ниже, для преобразования в столбец.строка в один столбец

Пример:

Учитывая Строка:

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

должны преобразовать в одну колонку:

columnName 
----------- 
ABC 
DEF 
GHI 
JKL 
MNO 
+0

Многие Dups о * расщеплением * строковым; [Tsql split string] (http://stackoverflow.com/questions/10914576/tsql-split-string) –

ответ

2

Попробуйте это. Используется LTRIM и RTRIM функция для удаления ведущих и трейлинг-пространств.

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) 

ВЫВОД:

Split_Data 
---------- 
ABC 
DEF 
GHI 
JKL 
MNO 
+0

Отлично! Огромное спасибо. Примите это в течение 5 мин. – MAK

Смежные вопросы