http://blog.163.com/greatwall_li/blog/static/1645723952011416212725/
declare @sql varchar(5000),@totalLength int,@length int,@tag varchar(20),@currentNumber int
set @sql='baidu,google,yahoo,my,db,sqlserver,helloworld,'
set @tag=','
set @totalLength=len(@sql)
set @length=charindex(@tag,@sql)
print '第1条记录: '+left(@sql,@length-1)
set @sql=substring(@sql,@length+1,@totalLength)
set @currentNumber=1
while (@length>0)
begin
set @currentNumber=@currentNumber+1
set @length=charindex(@tag,@sql)
if(@length=0)
begin
break;
end
print '第'+ltrim(str(@currentNumber))+'条记录:'+left(@sql,@length-1)
set @sql=substring(@sql,@length+1,@totalLength)
end
第一步: 获取第一个逗号前得长度,然后substring来截取
第二步: 当逗号前长度为0时,也就是最后一个逗号后的,就获取值,跳出循环