--声明变量
declare @sql varchar(5000),@totalLength int,@length int,@tag varchar(20),@currentNumber int
--设置参数值
set @sql='张艳宝,舒彬彬,'
set @tag=','
set @totalLength=len(@sql)
set @length=charindex(@tag,@sql)
set @currentNumber=0
--循环插入
while (@length>0)
begin
set @currentNumber=@currentNumber+1
set @length=charindex(@tag,@sql)
print '第'+ltrim(str(@currentNumber))+'条记录:'+left(@sql,@length-1)
--插入语句写在这里面
set @sql=substring(@sql,@length+1,@totalLength)
end
输出结果:
第1条记录:张艳宝
第2条记录:舒彬彬
下面这段代码是转载的:点击打开链接
declare @str nvarchar(50);
set @str='462,464,2';
select @str as '字符串'
select len(@str) as '字符长度'
select charindex(',',@str,1) as '第一个逗号的索引值'
select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'
select SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)) as '从第一逗号开始截取出后面的字符串'
select LEFT(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),CHARINDEX(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)-1) as '中间的值'
select SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(@str)) as '最后面的值' --从第二个逗号开始截取出其后的字符串
输出结果: