常用存储过程1(获取字符串中的第一个数值)
 create proc GetFirstNum
create proc GetFirstNum @str nvarchar(200),
 @str nvarchar(200), @num int output
 @num int output as
as declare @i int,@numchar varchar(8)
 declare @i int,@numchar varchar(8) set @i=0
 set @i=0 set @numchar=''
 set @numchar='' 
  while @i<=len(@str)
 while @i<=len(@str) begin
 begin declare @c char
  declare @c char set @c=substring(@str,@i,1)
  set @c=substring(@str,@i,1) if @c>='0' and @c<='9'
  if @c>='0' and @c<='9' set @numchar=@numchar+@c
   set @numchar=@numchar+@c else
  else if len(@numchar)>0
   if len(@numchar)>0 break
    break set @i=@i+1
  set @i=@i+1 end
 end 
  set @num=cast(@numchar as int)
 set @num=cast(@numchar as int) go
go
 declare @num int
declare @num int exec GetFirstNum 'hh1234f',@num out
exec GetFirstNum 'hh1234f',@num out select @num
select @num
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号