【问题标题】:SQL command to split by "/" [duplicate]SQL命令用“/”分割[重复]
【发布时间】:2013-09-27 03:53:36
【问题描述】:
我有一个数据列,其值如下:
表格:类型
ID|Descriptions
1 |chair/table/plates/
2 |chair2/table2/plates2/
用“/”分割它的 SQL 命令是什么?
预期输出
ID|Description1|Description2|Description3|
1 |chair |table |plates
2 |chair2 |table2 |plates2
【问题讨论】:
标签:
sql
sql-server-2008
split
【解决方案1】:
试试这个
;WITH Split_Descr ([ID],[Descriptions], xmldescr)
AS
(
SELECT [ID],
[Descriptions],
CONVERT(XML,'<Descr><desc>'
+ REPLACE([Descriptions],'/', '</desc><desc>') + '</desc></Descr>') AS xmldescr
FROM Table1
)
SELECT [ID],
xmldescr.value('/Descr[1]/desc[1]','varchar(100)') AS Descr1,
xmldescr.value('/Descr[1]/desc[2]','varchar(100)') AS Descr2,
xmldescr.value('/Descr[1]/desc[3]','varchar(100)') AS Descr3
FROM Split_Descr
SQL FIDDLE DEMO