SQLServer把一个字符串分隔转换成一个INT类型数据表

  • binGe博客
  • SqlServer
  • 2022/10/19 11:39:00
  • 人已阅读
简介把一个字符串分隔转换成一个INT类型数据表
/*
函数名: fn_CvtIdToTable
功 能: 把一个字符串分隔转换成一个INT类型数据表
作 者: laifm
日 期: 2017-02-24
修改者    修改日期        备注
--------------------------------------------

-- exec sp_Sys_LockSQLObj @SqlObj='fn_CvtIdToTable',@LockTaskNo='任务单',@LockRemark='备注' 
*/
ALTER function [dbo].[fn_CvtIdToTable]
(@String varchar(MAX) , @Split varchar(2) )
returns @Result table (fId INT)
as

begin
set @String = Rtrim(Ltrim(IsNull(@String,'')))

declare @I int , @J int , @M int , @N int
select @N = len(@String) , @I = 1 
while @I <= @N
begin
set @J = charindex(@Split,@String,@I)
if @J > 0 
begin
insert @Result values(CAST(substring(@String,@I,@J-@I) AS INT) )
set @I = @J + len(@Split)
end
else -- @J <= 0
begin
insert @Result values(CAST(substring(@String,@I,len(@String)-@I+1) AS INT) )
set @I = @N + 1
end
end
return 
end

文章评论

评论
  • 消灭零回复
Top