在SQL中去掉非数字的字符,只保留数字

来源:互联网 发布:考试自动答题软件 编辑:程序博客网 时间:2024/05/16 10:03

--------以下包括小数点-----------

declare @String varchar(1000),@TempNum char(1),@Number varchar(1000)
select @String='ab1.2我c'
select @Number=''
while len(@String)>0
begin
   select @TempNum=substring(@String,1,1)
   if isnumeric(@TempNum)=1
   begin
     select @Number=@Number+@TempNum
   end
   select @String=stuff(@String,1,1,'')
end
select @Number

-------以下去小数点也去掉----------

declare @String varchar(1000),@TempNum char(1),@Number varchar(100)
select @String='12321312.wqr4swd77878'
select @Number=''
while len(@String)>0
begin
   select @TempNum=substring(@String,1,1)
   if ascii(@TempNum)>=48 and ascii(@TempNum)<=57
   begin
     select @Number=@Number+@TempNum
   end
   select @String=stuff(@String,1,1,'')
end
select @Number

----------

原创粉丝点击