如传入变量 '1,2,3,4'则可解析成1 2 3 4
declare @string varchar(5000)
declare @splitchar char(1)
declare @l int -- 第一个分隔字符的位置
declare @s int -- 第二个分隔字符的位置
set @string ='1,2,3,4'
set @splitchar=','
set @l = 0
set @s = charindex(@splitchar, @string, @l) while @l <= len(@string)
begin
declare @id nvarchar(50) --被分割出来的值
-- 假如到最后一个字符串那么第二个分隔字符的位置就是这个字符串的长度加一
if @s = 0 set @s = len(@string) + 1
set @id = substring(@string, @l, @s - @l) -- 取值
set @l = @s + 1
set @s = charindex(@splitchar, @string, @l)
select @id
if ltrim(rtrim(@id)) <>'' continue -- 假如是空字符串就跳过
end
declare @splitchar char(1)
declare @l int -- 第一个分隔字符的位置
declare @s int -- 第二个分隔字符的位置
set @string ='1,2,3,4'
set @splitchar=','
set @l = 0
set @s = charindex(@splitchar, @string, @l) while @l <= len(@string)
begin
declare @id nvarchar(50) --被分割出来的值
-- 假如到最后一个字符串那么第二个分隔字符的位置就是这个字符串的长度加一
if @s = 0 set @s = len(@string) + 1
set @id = substring(@string, @l, @s - @l) -- 取值
set @l = @s + 1
set @s = charindex(@splitchar, @string, @l)
select @id
if ltrim(rtrim(@id)) <>'' continue -- 假如是空字符串就跳过
end
下面是函数,
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
具体用例,还没有封装好,先贴着,等有时间再整