34,590
社区成员
发帖
与我相关
我的任务
分享
use Tempdb
go
--> -->
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([Col1] nvarchar(21))
Insert #T
select N'aa/bbb/ccc' union all
select N'bb/cccc/ddd/eee/ff/gg' union all
select N'11/22/33/44/21'
Go
SELECT [Col1],SUBSTRING([Col1],b.number,CHARINDEX('/',[Col1]+'/',b.number)-b.number) AS 分拆后数据
FROM #T AS a
,master.dbo.spt_values AS b
WHERE CHARINDEX('/', '/' + [Col1], b.number) = b.number
AND b.type = 'P'
AND b.number > 0
/*
Col1 分拆后数据
aa/bbb/ccc aa
aa/bbb/ccc bbb
aa/bbb/ccc ccc
bb/cccc/ddd/eee/ff/gg bb
bb/cccc/ddd/eee/ff/gg cccc
bb/cccc/ddd/eee/ff/gg ddd
bb/cccc/ddd/eee/ff/gg eee
bb/cccc/ddd/eee/ff/gg ff
bb/cccc/ddd/eee/ff/gg gg
11/22/33/44/21 11
11/22/33/44/21 22
11/22/33/44/21 33
11/22/33/44/21 44
11/22/33/44/21 21
*/