发布时间:2018-08-01编辑:佚名阅读(2229)
CREATE FUNCTION [dbo].[get_semblance_By_2words](@word1 VARCHAR(500), @word2 VARCHAR(500)) RETURNS INT AS BEGIN DECLARE @re INT; DECLARE @maxLenth INT; DECLARE @i INT, @l INT; DECLARE @tb1 TABLE(child VARCHAR(500)); DECLARE @tb2 TABLE(child VARCHAR(500)); SET @i=1; SET @l=1; SET @maxLenth=LEN(@word1); IF LEN(@word1)<LEN(@word2)BEGIN SET @maxLenth=LEN(@word2); END; WHILE @l<=LEN(@word1)BEGIN WHILE @i<=LEN(@word1)AND @i<=LEN(@word1)-@l+1 BEGIN INSERT @tb1(child)VALUES(SUBSTRING(@word1, @l, @i)); SET @i=@i+1; END; SET @i=1; SET @l=@l+1; END; SET @i=1; SET @l=1; WHILE @l<=LEN(@word2)BEGIN WHILE @i<=LEN(@word2)AND @i<=LEN(@word2)-@l+1 BEGIN INSERT @tb2(child)VALUES(SUBSTRING(@word2, @l, @i)); 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;
关键字: sql字符串相似度
上一篇:c#float累加精度异常
下一篇:C#导入Excel
0人
0人
0人
0人