【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★■->123445’ set @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