34,594
社区成员
发帖
与我相关
我的任务
分享
create function split(@sql varchar(500),@n int)
returns varchar(100)
as
begin
set @sql=@sql+','
declare @return varchar(100),@i int,@var varchar(500)
set @i=0
while(charindex(',',@sql)>0)
begin
set @var=isnull(@var+ case @i when 3 then ' ¦' else ',' end,'')+left(@sql,charindex(',',@sql)-1)
set @sql=right(@sql,len(@sql)-charindex(',',@sql))
set @i=case @i when 3 then 0 else @i end +1
end
set @var=@var+' ¦'
while(charindex(' ¦',@var)>0)
begin
set @return=isnull(@return+',','') + parsename(replace(left(@var,charindex(' ¦',@var)-1),',','.'),case @n when 1 then 3 when 2 then 2 when 3 then 1 end)
set @var=right(@var,len(@var)-charindex(' ¦',@var))
end
if charindex('/',@return)>0
set @return=left(@return,len(@return)-1)
return @return
end
create function split(@sql varchar(500),@n int)
returns varchar(100)
as
begin
set @sql=@sql+','
declare @return varchar(100),@i int,@var varchar(500)
set @i=0
while(charindex(',',@sql)>0)
begin
set @var=isnull(@var+ case @i when 3 then ' ¦' else ',' end,'')+left(@sql,charindex(',',@sql)-1)
set @sql=right(@sql,len(@sql)-charindex(',',@sql))
set @i=case @i when 3 then 0 else @i end +1
end
set @var=@var+' ¦'
while(charindex(' ¦',@var)>0)
begin
set @return=isnull(@return+',','') + parsename(replace(left(@var,charindex(' ¦',@var)-1),',','.'),case @n when 1 then 3 when 2 then 2 when 3 then 1 end)
set @var=right(@var,len(@var)-charindex(' ¦',@var))
end
return coalesce(nullif(@return,''),'/')--改
end