您的位置:首页 > 数据库

关于sql中字符串中取数字问题

2008-03-26 21:24 381 查看
create procedure GetNumFromString

@str varchar(100)

as

declare @i int

declare @len int

declare @str1 varchar(100)

set @str1=''

set @len=len(@str)

set @i=1

while @i<=@len

begin

if isnumeric(substring(@str,@i,1))>0

begin

set @str1=@str1+substring(@str,@i,1)

end

else

begin

set @str1=@str1+','

end

set @i=@i+1

end

select replace(@str1,',',' ')

GO
或者

declare @str varchar(100),@tmp varchar(101),@i int

set @str='sddfd123fddfd56fddf78'

set @tmp=@str+'a'

while patindex('%[0-9]%',@tmp)>0

begin

set @i=1

while 1=1

begin

if isnumeric(substring(@tmp,patindex('%[0-9]%',@tmp)+@i,1))=0 break

set @i=@i+1

end

print substring(@tmp,patindex('%[0-9]%',@tmp),@i)

set @tmp=stuff(@tmp,patindex('%[0-9]%',@tmp),@i,'')

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: