C# 字符串相似度的算法(用sqlserver函数实现) CREATE function get_semblance_By_2words ( @word1 varchar(50),@word2 varchar(50) ) returns nvarchar(4000) as begin declare @re int declare @maxLenth int declare @i int,@l int declare @tb1 table(child varchar(50)) declare @tb2 table(child varchar(50)) set @i=1 set @l=2 set @maxLenth=len(@word1) if len(@word1)<len(@word2) begin set @maxLenth=len(@word2) end while @l<=len(@word1) begin while @i<len(@word1)-1 begin insert @tb1 (child) values( SUBSTRING(@word1,@i,@l) ) set @i=@i+1 end set @i=1 set @l=@l+1 end set @i=1 set @l=2 while @l<=len(@word2) begin while @i<len(@word2)-1 begin insert @tb2 (child) values( SUBSTRING(@word2,@l) ) set @i=@i+1 end set @i=1 set @l=@l+1 end select @re=isnull(max( len(a.child)*100/ @maxLenth ),0) from @tb1 a,@tb2 b where a.child=b.child return @re end GO --测试 --select dbo.get_semblance_By_2words('我是谁','我是谁啊') --75 --相似度
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。