Как разбить данные строки на несколько столбцов - PullRequest
0 голосов
/ 19 января 2012

У меня есть такие данные:

ColumA
A1:Data1 A2:Data2 A3:Data3
A1:Data4 A2:Data5 A3:Data6

Я хочу создать вывод, подобный этому:

A1        A2        A3
Data1     Data2     Data3
Data4     Data5     Data6

Ответы [ 2 ]

0 голосов
/ 19 января 2012
declare @T table
(
  ColumnA varchar(50)
)

insert into @T values
('A1:Data1 A2:Data2 A3:Data3'),
('A1:Data4 A2:Data5 A3:Data6')

select substring(ColumnA, Pos.A1+3, Pos.A2-Pos.A1-3) as A1,
       substring(ColumnA, Pos.A2+3, Pos.A3-Pos.A2-3) as A2,
       substring(ColumnA, Pos.A3+3, Pos.AX-Pos.A3-3) as A3
from @T as T
  cross apply (select charindex('A1:', ColumnA) as A1,
                      charindex('A2:', ColumnA) as A2,
                      charindex('A3:', ColumnA) as A3,
                      len(ColumnA)+1            as AX) as Pos
0 голосов
/ 19 января 2012

Вы можете использовать pivot Чтобы использовать строки в качестве столбца Вот одна интересная ссылка Ссылка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...