mssql sqlserver 如何分拆一个字符串呢?


摘要:
下文讲述使用sql脚本的方法分拆一个字符串,如下所示:
实验环境:sql server 2012


在日常的开发中,我们经常需要对一个组合后的字符串拆分为行集的数据表,下文将通过举例的方式讲述拆分字符串的方法,如下:


实现思路:
使用while、substring、charindex关键字依次处理

declare @source nvarchar(100)
declare @split  nvarchar(30)


set @source = N',maomao365.com,sqlblog,爱好者' ---待分隔字符串
set @split =','; ---分隔符
 

declare @tmp table(info nvarchar(100))
declare @i int
set @i  =  charindex(@split,@source)


while @i >0
begin
   insert into @tmp(info) 
    select substring(@source,0,@i)

	set @source = substring(@source,@i+1,len(@source)-@i)
    set @i  =  charindex(@split,@source) 


	if @i =0
	 begin
	   insert into @tmp (info)values(@source)
	 end
end


select * from @tmp as t