sql分割字符串函数

2025-11-21 12:09:00

1、charindex内置函数返回指定字符所出现的位置。

第一个参数为目标字符串,即查找的字符串;

第二个参数为被查找的字符串;

第三个参数为开始查找位置,为空时默认从第一位查找

sql分割字符串函数

2、创建函数。

sql分割字符串函数

sql分割字符串函数

sql分割字符串函数

3、测试函数。

sql分割字符串函数

4、函数脚本;


create function [dbo].[fn_Split]
(
@str varchar(max),    --原字符串
@fgzf varchar(10)     --分割符号
)

returns @table table   --返回


(
id int identity(1,1),
value varchar(max)
)

as


begin
 declare @len int = 1;
 declare @len1 int = 1;
 declare @count int = 0;

 set @count = len(@str);


 if(@count > 0)
 begin
  while @len <> 0
  begin
   set @len1 = @len;
   if(@len = 1)
   begin
    set @len = CHARINDEX(@fgzf,@str,@len);
   end
   else begin
    set @len = CHARINDEX(@fgzf,@str,@len + 1);
   end
   if(@len1 = 1)
   begin
    if(@len <> 0)
    begin
     insert into @table(value)
     select SUBSTRING(@str,@len1,@len-1);
    end
    else begin
     insert into @table(value)
     select @str;
    end
   end
   else if (@len <> 0) begin
    insert into @table(value)
    select SUBSTRING(@str,@len1 + 1,@len - @len1 -1);
   end
   if(@len = 0 and @len1 > 1)
   begin
    insert into @table(value)
    select SUBSTRING(@str,@len1 + 1,len(@str) - @len1);
   end
  end
 end
 return;
end
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢