加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

字符串相似度的算法

发布时间:2020-12-12 15:46:13 所属栏目:MsSql教程 来源:网络整理
导读: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 ta
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 --相似度?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读