1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > sql 拆解函数_在SQL Server数据库中拆分字符串函数

sql 拆解函数_在SQL Server数据库中拆分字符串函数

时间:2021-03-15 16:05:05

相关推荐

sql 拆解函数_在SQL Server数据库中拆分字符串函数

以下为引用的内容:

CREATE FUNCTION uf_StrSplit '1.1.2.50','.'

(@origStr varchar(7000), --待拆分的字符串

@markStr varchar(100))--拆分标记,如','

RETURNS @splittable table

(

str_idvarchar(4000) NOT NULL, --编号ID

stringvarchar(2000) NOT NULL --拆分后的字符串

)

AS

BEGIN

declare @strlen int,@postion int,@start int,@sublen int,

@TEMPstr varchar(200),@TEMPid int

SELECT @strlen=LEN(@origStr),@start=1,@sublen=0,@postion=1,

@TEMPstr='',@TEMPid=0

if(RIGHT(@origStr,1)@markStr )

begin

set @origStr = @origStr + @markStr

end

WHILE((@postion=@strlen) and (@postion !=0))

BEGIN

IF(CHARINDEX(@markStr,@origStr,@postion)!=0)

BEGIN

SET @sublen=CHARINDEX(@markStr,@origStr,@postion)-@postion;

END

ELSE

BEGIN

SET @sublen=@strlen-@postion+1;

END

IF(@postion=@strlen)

BEGIN

SET @TEMPid=@TEMPid+1;

SET @TEMPstr=SUBSTRING(@origStr,@postion,@sublen);

INSERT INTO @splittable(str_id,string)

values(@TEMPid,@TEMPstr)

IF(CHARINDEX(@markStr,@origStr,@postion)!=0)

BEGIN

SET @postion=CHARINDEX(@markStr,@origStr,@postion)+1

END

ELSE

BEGIN

SET @postion=@postion+1

END

END

END

RETURN

END

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。