输入字符串,分割字符,分别显示结果



--传递字符串 分割字符串 分别显示

-- 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

 

 

 

你可能感兴趣的:(sqlserver数据库)