关于sql中字符串中取数字问题create procedure GetNumFromString
关于sql中字符串中取数字问题
@str varchar(100)
关于sql中字符串中取数字问题
as
关于sql中字符串中取数字问题
declare @i int
关于sql中字符串中取数字问题
declare @len int
关于sql中字符串中取数字问题
declare @str1 varchar(100)
关于sql中字符串中取数字问题
set @str1=''
关于sql中字符串中取数字问题
set @len=len(@str)
关于sql中字符串中取数字问题
set @i=1
关于sql中字符串中取数字问题
while @i<=@len
关于sql中字符串中取数字问题
begin
关于sql中字符串中取数字问题
if isnumeric(substring(@str,@i,1))>0
关于sql中字符串中取数字问题
begin
关于sql中字符串中取数字问题
set @str1=@str1+substring(@str,@i,1)
关于sql中字符串中取数字问题
end
关于sql中字符串中取数字问题
else
关于sql中字符串中取数字问题
begin
关于sql中字符串中取数字问题
set @str1=@str1+','
关于sql中字符串中取数字问题
end
关于sql中字符串中取数字问题
set @i=@i+1
关于sql中字符串中取数字问题
end
关于sql中字符串中取数字问题
select  replace(@str1,',',' ')
关于sql中字符串中取数字问题
关于sql中字符串中取数字问题
关于sql中字符串中取数字问题
GO
或者
关于sql中字符串中取数字问题declare @str varchar(100),@tmp varchar(101),@i int
关于sql中字符串中取数字问题
关于sql中字符串中取数字问题
set @str='sddfd123fddfd56fddf78'
关于sql中字符串中取数字问题
set @tmp=@str+'a'
关于sql中字符串中取数字问题
关于sql中字符串中取数字问题
while patindex('%[0-9]%',@tmp)>0
关于sql中字符串中取数字问题
begin
关于sql中字符串中取数字问题
set @i=1
关于sql中字符串中取数字问题
while 1=1
关于sql中字符串中取数字问题
begin
关于sql中字符串中取数字问题
if isnumeric(substring(@tmp,patindex('%[0-9]%',@tmp)+@i,1))=0 break
关于sql中字符串中取数字问题
set @i=@i+1
关于sql中字符串中取数字问题
end
关于sql中字符串中取数字问题
print substring(@tmp,patindex('%[0-9]%',@tmp),@i)
关于sql中字符串中取数字问题
set @tmp=stuff(@tmp,patindex('%[0-9]%',@tmp),@i,'')
关于sql中字符串中取数字问题
end
关于sql中字符串中取数字问题

相关文章: