--传递字符串 分割字符串 分别显示
-- select * from dbo.[f_Sstringsplit]('123,16,14,17',',')
create function [dbo].[f_Sstringsplit]
(
@Sql varchar(8000),--输入的一个字符串 例如:'123,16,14'
@strSeprate varchar(100) --输入的分隔的字符 例如:',','。'等符号
)
returns @temp table (ID varchar(100)) --@temp返回的表,ID为表中的字段
as
begin
declare @ch as varchar(100) --变量
set @Sql=@Sql+@StrSeprate --字符串和分隔符的组合
while(@Sql<>'') --循环
begin
set @ch=left(@Sql,Charindex(',',@Sql,1)-1) --用分隔符分隔出来的的字段
insert @temp values(@ch) --插入临时表
set @Sql=stuff(@Sql,1,charindex(',',@Sql,1),'') -- 删除已经被分隔的出来的字段,然后下一轮循环
end
return
end