技术开发 频道

SQL中实现字符串的分割

  【IT168技术文档】

  在SQL  Server中如何来实现字符串的分割,达到批量提交数据参数和分批处理功能呢?

  实现起来我们可以:从左到右,根据分割字符or字符串一个一个地截取。

*/ declare @str1 nvarchar(100) --要分割的字符串 declare @str2 nvarchar(100) --分割得的子字符串 declare @split nvarchar(40) --分割字符or字符串 declare @patIndex int --分割字符or字符串第一次出现的起始位置 set @split=’★■->set @str1=select * from Employee★■->45654DFG★■->452897★■->97887657★■->123445set @str2=’’ while @str1<>@str2 -- 没有截取到最后就循环 begin set @patIndex=patindex(’%+@split+%’,@str1) --分割字符or字符串第一次出现的起始位置 if @patIndex>0 --第一次出现的起始位置的值大于0 就截取,否则就@str2=@str1 set @str2=left(@str1,@patIndex-1) else set @str2=@str1 print @str2 --调试 /* 在这里添加执行过程.... */ --自动把@str1截掉已经截取的部分,这是为了保证[分割字符or字符串第一次出现的起始位置] if @patIndex>0 set @str1=right(@str1,len(@str1)-len(@str2)-len(@split)) end
0
相关文章