SQL字符串相似度算法

SQL实现:

   create   function   StrCompare(@str1   varchar(8000),@str2   varchar(8000))  
   returns   varchar(10)  
   as  
   begin  
           declare   @i   int,@j   int,@k   int,@ret   varchar(10)  
           select   @i   =   max(strlen),@j=min(strlen),@k=0  
           from   (select   strlen=len(@str1)   union   select   strlen=len(@str2))   t  
           
           if(@j=0)  
                   return   '0%'  
           
           while   @j>0  
           begin  
                   if   substring(@str1,@j,1)=substring(@str2,@j,1)  
                           set   @k=@k+1  
                   set   @j=@j-1  
           end  
           
           set   @ret   =   rtrim(cast(@k*100.0/@i   as   numeric(3,0)))+'%'  
           return   @ret  
   end
引用地址:

http://www.cnblogs.com/liufanping/articles/1448987.html
posted @ 2011-09-07 16:23  冰封的心  阅读(1597)  评论(0)    收藏  举报