create function fn_num( @s varchar(2000) )
returns varchar(200)
as
begin
declare @r varchar(200)
set @r=''
while PATINDEX('%[0-9]%',@s)>0 begin
set @r=@r+substring(@s,PATINDEX('%[0-9]%',@s),1)
set @s=stuff(@s,1,PATINDEX('%[0-9]%',@s),'')
end
return @r
end
go
--调用 select dbo.fn_num('a2h5我j8 ') go
returns varchar(200)
as
begin
declare @r varchar(200)
set @r=''
while PATINDEX('%[0-9]%',@s)>0 begin
set @r=@r+substring(@s,PATINDEX('%[0-9]%',@s),1)
set @s=stuff(@s,1,PATINDEX('%[0-9]%',@s),'')
end
return @r
end
go
--调用 select dbo.fn_num('a2h5我j8 ') go
本文介绍了一个SQL函数,用于从输入的字符串中提取所有数字字符,并返回由这些数字组成的字符串。该函数通过循环遍历输入字符串并使用PATINDEX查找数字位置来实现。
1862

被折叠的 条评论
为什么被折叠?



