常用存储过程3(获取编码的上级编码和短编码)
获取编码的上级编码和短编码,如传入“01.01.123”,返回“01.01”和“123”
Create Proc GetParentNum
 @num varchar(100),
   @num varchar(100),
 @parentnum varchar(100) output,
   @parentnum varchar(100) output,
 @shortnum varchar(100) output
   @shortnum varchar(100) output
 as
as
 declare @c char(1),@i int
declare @c char(1),@i int
 set @i=len(@num)
set @i=len(@num)
 set @shortnum=''
set @shortnum=''
 while @i>0
while @i>0
 begin
begin
 if substring(@num,@i,1)='.'
   if substring(@num,@i,1)='.'
 begin
   begin
 set @parentnum=substring(@num,1,@i-1)
       set @parentnum=substring(@num,1,@i-1)
 return
       return
 end
   end
 else
   else
 set @shortnum=substring(@num,@i,1)+@shortnum
       set @shortnum=substring(@num,@i,1)+@shortnum
 set @i=@i-1
   set @i=@i-1
 end
end

 GO
GO

Create Proc GetParentNum
 @num varchar(100),
   @num varchar(100), @parentnum varchar(100) output,
   @parentnum varchar(100) output, @shortnum varchar(100) output
   @shortnum varchar(100) output as
as declare @c char(1),@i int
declare @c char(1),@i int set @i=len(@num)
set @i=len(@num) set @shortnum=''
set @shortnum='' while @i>0
while @i>0 begin
begin if substring(@num,@i,1)='.'
   if substring(@num,@i,1)='.' begin
   begin set @parentnum=substring(@num,1,@i-1)
       set @parentnum=substring(@num,1,@i-1) return
       return end
   end else
   else set @shortnum=substring(@num,@i,1)+@shortnum
       set @shortnum=substring(@num,@i,1)+@shortnum set @i=@i-1
   set @i=@i-1 end
end
 GO
GO 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号