create proc p_getstr(
@s varchar(8000),---- 测试串
@new varchar(8000) output--- 输出串
)
as
declare
@pos int ---定义位置参数
set @pos=patindex('%[a-z]%',@s) ------FU值,目的用来下面的WHILE判断
set @new='' -----FU值
while @pos>0
begin
set @pos=patindex('%[a-z]%',@s) -----这一句搞了大半天,我以前理解不写这个的,如不写这条语句,死CIRLCE
select @new=@new+substring(@s,@pos,1),
@s=stuff(@s,1,@pos,'')
end
select @new ----一定在BEGIN END外写这一条语句,为两种情况
go
--------------------------------------------------------------
-------------------------调用存储过程-------------------
declare @new varchar(8000)
exec p_getstr '命a已T成the功145完t2成',@new output
print @new
本文介绍了一个SQL Server存储过程,该过程用于从输入字符串中提取所有出现的小写字母,并将这些字母组合成一个新的字符串返回。通过不断更新输入字符串并移除已处理的部分,确保能够处理字符串中的所有小写字母。
991

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



